Index: kernel/arch/sparc64/include/atomic.h
===================================================================
--- kernel/arch/sparc64/include/atomic.h	(revision 0d9dc6bbbea261d34201663251e9c46ca2bcab73)
+++ kernel/arch/sparc64/include/atomic.h	(revision 40239b9f7eb371244007b25cde720aa2f90f7a41)
@@ -135,6 +135,5 @@
 			"brz %2, 0b\n"
 			"nop\n"
-			"ba %%xcc, 1b\n"
-			"nop\n"
+			"ba,a %%xcc, 1b\n"
 		"2:\n"
 		: "+m" (*((atomic_count_t *) ptr)),
Index: kernel/arch/sparc64/src/trap/sun4u/trap_table.S
===================================================================
--- kernel/arch/sparc64/src/trap/sun4u/trap_table.S	(revision 0d9dc6bbbea261d34201663251e9c46ca2bcab73)
+++ kernel/arch/sparc64/src/trap/sun4u/trap_table.S	(revision 40239b9f7eb371244007b25cde720aa2f90f7a41)
@@ -481,6 +481,6 @@
 	be %xcc, 1f
 	nop
-0:	ba %xcc, 0b				! this is for debugging, if we ever get here
-	nop					! it will be easy to find
+	! this is for debugging, if we ever get here it will be easy to find
+0:	ba,a %xcc, 0b
 
 1:
@@ -546,6 +546,5 @@
 
 .if NOT(\is_syscall)
-	ba %xcc, 1f
-	nop
+	ba,a %xcc, 1f
 0:
 	save %sp, -PREEMPTIBLE_HANDLER_STACK_FRAME_SIZE, %sp
Index: kernel/arch/sparc64/src/trap/sun4v/trap_table.S
===================================================================
--- kernel/arch/sparc64/src/trap/sun4v/trap_table.S	(revision 0d9dc6bbbea261d34201663251e9c46ca2bcab73)
+++ kernel/arch/sparc64/src/trap/sun4v/trap_table.S	(revision 40239b9f7eb371244007b25cde720aa2f90f7a41)
@@ -71,6 +71,5 @@
 .org trap_table + TT_INSTRUCTION_ACCESS_MMU_MISS*ENTRY_SIZE
 .global instruction_access_mmu_miss_handler_tl0
-	ba %xcc, fast_instruction_access_mmu_miss_handler_tl0
-	nop
+	ba,a %xcc, fast_instruction_access_mmu_miss_handler_tl0
 
 /* TT = 0x0a, TL = 0, instruction_access_error */
@@ -187,6 +186,5 @@
 .global data_access_mmu_miss_tl0
 data_access_mmu_miss_tl0:
-	ba %xcc, fast_data_access_mmu_miss_handler_tl0
-	nop
+	ba,a %xcc, fast_data_access_mmu_miss_handler_tl0
 
 /* TT = 0x32, TL = 0, data_access_error */
@@ -414,6 +412,5 @@
 .global instruction_access_mmu_miss_handler_tl1
 	wrpr %g0, 1, %tl
-	ba %xcc, fast_instruction_access_mmu_miss_handler_tl0
-	nop
+	ba,a %xcc, fast_instruction_access_mmu_miss_handler_tl0
 
 /* TT = 0x0a, TL > 0, instruction_access_error */
@@ -498,7 +495,5 @@
 .global data_access_mmu_miss_tl1
 data_access_mmu_miss_tl1:
-	ba %xcc, fast_data_access_mmu_miss_handler_tl1
-	nop
-
+	ba,a %xcc, fast_data_access_mmu_miss_handler_tl1
 
 /* TT = 0x32, TL > 0, data_access_error */
@@ -742,5 +737,5 @@
 	rdpr %cwp, %l1
 	cmp %l0, %l1
-	bz 4f				! CWP is ok
+	bz %xcc, 4f			! CWP is ok
 	nop
 
@@ -785,8 +780,9 @@
 	rdpr %tl, %g3
 	cmp %g3, 1
-	be 1f
+	be %xcc, 1f
 	nop
-0:	ba %xcc, 0b				! this is for debugging, if we ever get here
-	nop					! it will be easy to find
+
+	! this is for debugging, if we ever get here it will be easy to find
+0:	ba,a %xcc, 0b
 
 1:
@@ -957,5 +953,5 @@
 	clr %g4
 5:	andcc %g7, UWB_ALIGNMENT - 1, %g0	! alignment check
-	bz 6f					! %g7 is UWB_ALIGNMENT-aligned, no more windows to refill
+	bz %xcc, 6f				! %g7 is UWB_ALIGNMENT-aligned, no more windows to refill
 	nop
 
@@ -1066,6 +1062,5 @@
 
 	PREEMPTIBLE_HANDLER_KERNEL
-	ba %xcc, 101f
-	nop
+	ba,a %xcc, 101f
 
 	100:
