summaryrefslogtreecommitdiffstats
path: root/llvm/test
diff options
context:
space:
mode:
Diffstat (limited to 'llvm/test')
-rw-r--r--llvm/test/MC/Disassembler/Sparc/sparc-v9.txt114
-rw-r--r--llvm/test/MC/Disassembler/Sparc/sparc.txt106
-rw-r--r--llvm/test/MC/Sparc/sparc-ctrl-instructions.s184
-rw-r--r--llvm/test/MC/Sparc/sparc-traps.s151
-rw-r--r--llvm/test/MC/Sparc/sparc-v9-traps.s303
-rw-r--r--llvm/test/MC/Sparc/sparc64-ctrl-instructions.s6
6 files changed, 856 insertions, 8 deletions
diff --git a/llvm/test/MC/Disassembler/Sparc/sparc-v9.txt b/llvm/test/MC/Disassembler/Sparc/sparc-v9.txt
index b8ca01ce04e..0a81b8df4cd 100644
--- a/llvm/test/MC/Disassembler/Sparc/sparc-v9.txt
+++ b/llvm/test/MC/Disassembler/Sparc/sparc-v9.txt
@@ -2,3 +2,117 @@
# CHECK: popc %g1, %g2
0x85 0x70 0x00 0x01
+
+# CHECK: ta %icc, %i5
+0x91 0xd0 0x00 0x1d
+
+# CHECK: ta %icc, 82
+0x91 0xd0 0x20 0x52
+
+# CHECK: ta %icc, %g1 + %i2
+0x91 0xd0 0x40 0x1a
+
+# CHECK: ta %icc, %i5 + 41
+0x91 0xd7 0x60 0x29
+
+# CHECK: tn %icc, %i5
+0x81 0xd0 0x00 0x1d
+
+# CHECK: tne %icc, 82
+0x93 0xd0 0x20 0x52
+
+# CHECK: te %icc, %g1 + %i2
+0x83 0xd0 0x40 0x1a
+
+# CHECK: tg %icc, %i5 + 41
+0x95 0xd7 0x60 0x29
+
+# CHECK: tle %icc, %i5
+0x85 0xd0 0x00 0x1d
+
+# CHECK: tge %icc, 82
+0x97 0xd0 0x20 0x52
+
+# CHECK: tl %icc, %g1 + %i2
+0x87 0xd0 0x40 0x1a
+
+# CHECK: tgu %icc, %i5 + 41
+0x99 0xd7 0x60 0x29
+
+# CHECK: tleu %icc, %i5
+0x89 0xd0 0x00 0x1d
+
+# CHECK: tcc %icc, 82
+0x9b 0xd0 0x20 0x52
+
+# CHECK: tcs %icc, %g1 + %i2
+0x8b 0xd0 0x40 0x1a
+
+# CHECK: tpos %icc, %i5 + 41
+0x9d 0xd7 0x60 0x29
+
+# CHECK: tneg %icc, %i5
+0x8d 0xd0 0x00 0x1d
+
+# CHECK: tvc %icc, 82
+0x9f 0xd0 0x20 0x52
+
+# CHECK: tvs %icc, %g1 + %i2
+0x8f 0xd0 0x40 0x1a
+
+# CHECK: ta %xcc, %i5
+0x91 0xd0 0x10 0x1d
+
+# CHECK: ta %xcc, 82
+0x91 0xd0 0x30 0x52
+
+# CHECK: ta %xcc, %g1 + %i2
+0x91 0xd0 0x50 0x1a
+
+# CHECK: ta %xcc, %i5 + 41
+0x91 0xd7 0x70 0x29
+
+# CHECK: tn %xcc, %i5
+0x81 0xd0 0x10 0x1d
+
+# CHECK: tne %xcc, 82
+0x93 0xd0 0x30 0x52
+
+# CHECK: te %xcc, %g1 + %i2
+0x83 0xd0 0x50 0x1a
+
+# CHECK: tg %xcc, %i5 + 41
+0x95 0xd7 0x70 0x29
+
+# CHECK: tle %xcc, %i5
+0x85 0xd0 0x10 0x1d
+
+# CHECK: tge %xcc, 82
+0x97 0xd0 0x30 0x52
+
+# CHECK: tl %xcc, %g1 + %i2
+0x87 0xd0 0x50 0x1a
+
+# CHECK: tgu %xcc, %i5 + 41
+0x99 0xd7 0x70 0x29
+
+# CHECK: tleu %xcc, %i5
+0x89 0xd0 0x10 0x1d
+
+# CHECK: tcc %xcc, 82
+0x9b 0xd0 0x30 0x52
+
+# CHECK: tcs %xcc, %g1 + %i2
+0x8b 0xd0 0x50 0x1a
+
+# CHECK: tpos %xcc, %i5 + 41
+0x9d 0xd7 0x70 0x29
+
+# CHECK: tneg %xcc, %i5
+0x8d 0xd0 0x10 0x1d
+
+# CHECK: tvc %xcc, 82
+0x9f 0xd0 0x30 0x52
+
+# CHECK: tvs %xcc, %g1 + %i2
+0x8f 0xd0 0x50 0x1a \ No newline at end of file
diff --git a/llvm/test/MC/Disassembler/Sparc/sparc.txt b/llvm/test/MC/Disassembler/Sparc/sparc.txt
index 6724ebf8bf2..9c0b2a10739 100644
--- a/llvm/test/MC/Disassembler/Sparc/sparc.txt
+++ b/llvm/test/MC/Disassembler/Sparc/sparc.txt
@@ -168,6 +168,51 @@
# CHECK: fbo 4194303
0x1f 0xbf 0xff 0xff
+# CHECK: cba 4194303
+0x11 0xff 0xff 0xff
+
+# CHECK: cbn 4194303
+0x01 0xff 0xff 0xff
+
+# CHECK: cb3 4194303
+0x0f 0xff 0xff 0xff
+
+# CHECK: cb2 4194303
+0x0d 0xff 0xff 0xff
+
+# CHECK: cb23 4194303
+0x0b 0xff 0xff 0xff
+
+# CHECK: cb1 4194303
+0x09 0xff 0xff 0xff
+
+# CHECK: cb13 4194303
+0x07 0xff 0xff 0xff
+
+# CHECK: cb12 4194303
+0x05 0xff 0xff 0xff
+
+# CHECK: cb123 4194303
+0x03 0xff 0xff 0xff
+
+# CHECK: cb03 4194303
+0x15 0xff 0xff 0xff
+
+# CHECK: cb02 4194303
+0x17 0xff 0xff 0xff
+
+# CHECK: cb023 4194303
+0x19 0xff 0xff 0xff
+
+# CHECK: cb01 4194303
+0x1b 0xff 0xff 0xff
+
+# CHECK: cb013 4194303
+0x1d 0xff 0xff 0xff
+
+# CHECK: cb012 4194303
+0x1f 0xff 0xff 0xff
+
# CHECK: restore
0x81 0xe8 0x00 0x00
@@ -187,16 +232,73 @@
0x00 0x00 0x00 0x0c
# CHECK: jmp %g1+12
-0x81,0xc0,0x60,0x0c
+0x81 0xc0 0x60 0x0c
# CHECK: retl
0x81 0xc3 0xe0 0x08
# CHECK: ret
-0x81,0xc7,0xe0,0x08
+0x81 0xc7 0xe0 0x08
# CHECK: rett %i7+8
0x81 0xcf 0xe0 0x08
# CHECK: stbar
0x81 0x43 0xc0 0x00
+
+# CHECK: ta %i5
+0x91 0xd0 0x00 0x1d
+
+# CHECK: ta 82
+0x91 0xd0 0x20 0x52
+
+# CHECK: ta %g1 + %i2
+0x91 0xd0 0x40 0x1a
+
+# CHECK: ta %i5 + 41
+0x91 0xd7 0x60 0x29
+
+# CHECK: tn %i5
+0x81 0xd0 0x00 0x1d
+
+# CHECK: tne 82
+0x93 0xd0 0x20 0x52
+
+# CHECK: te %g1 + %i2
+0x83 0xd0 0x40 0x1a
+
+# CHECK: tg %i5 + 41
+0x95 0xd7 0x60 0x29
+
+# CHECK: tle %i5
+0x85 0xd0 0x00 0x1d
+
+# CHECK: tge 82
+0x97 0xd0 0x20 0x52
+
+# CHECK: tl %g1 + %i2
+0x87 0xd0 0x40 0x1a
+
+# CHECK: tgu %i5 + 41
+0x99 0xd7 0x60 0x29
+
+# CHECK: tleu %i5
+0x89 0xd0 0x00 0x1d
+
+# CHECK: tcc 82
+0x9b 0xd0 0x20 0x52
+
+# CHECK: tcs %g1 + %i2
+0x8b 0xd0 0x40 0x1a
+
+# CHECK: tpos %i5 + 41
+0x9d 0xd7 0x60 0x29
+
+# CHECK: tneg %i5
+0x8d 0xd0 0x00 0x1d
+
+# CHECK: tvc 82
+0x9f 0xd0 0x20 0x52
+
+# CHECK: tvs %g1 + %i2
+0x8f 0xd0 0x40 0x1a
diff --git a/llvm/test/MC/Sparc/sparc-ctrl-instructions.s b/llvm/test/MC/Sparc/sparc-ctrl-instructions.s
index ccfa36a0b14..8f3ad55cd3f 100644
--- a/llvm/test/MC/Sparc/sparc-ctrl-instructions.s
+++ b/llvm/test/MC/Sparc/sparc-ctrl-instructions.s
@@ -199,6 +199,74 @@
! CHECK: fbo .BB0 ! encoding: [0x1f,0b10AAAAAA,A,A]
! CHECK-NEXT: ! fixup A - offset: 0, value: .BB0, kind: fixup_sparc_br22
fbo .BB0
+
+ ! CHECK: cba .BB0 ! encoding: [0x11,0b11AAAAAA,A,A]
+ ! CHECK-NEXT: ! fixup A - offset: 0, value: .BB0, kind: fixup_sparc_br22
+ cb .BB0
+
+ ! CHECK: cba .BB0 ! encoding: [0x11,0b11AAAAAA,A,A]
+ ! CHECK-NEXT: ! fixup A - offset: 0, value: .BB0, kind: fixup_sparc_br22
+ cba .BB0
+
+ ! CHECK: cbn .BB0 ! encoding: [0x01,0b11AAAAAA,A,A]
+ ! CHECK-NEXT: ! fixup A - offset: 0, value: .BB0, kind: fixup_sparc_br22
+ cbn .BB0
+
+ ! CHECK: cb3 .BB0 ! encoding: [0x0f,0b11AAAAAA,A,A]
+ ! CHECK-NEXT: ! fixup A - offset: 0, value: .BB0, kind: fixup_sparc_br22
+ cb3 .BB0
+
+ ! CHECK: cb2 .BB0 ! encoding: [0x0d,0b11AAAAAA,A,A]
+ ! CHECK-NEXT: ! fixup A - offset: 0, value: .BB0, kind: fixup_sparc_br22
+ cb2 .BB0
+
+ ! CHECK: cb23 .BB0 ! encoding: [0x0b,0b11AAAAAA,A,A]
+ ! CHECK-NEXT: ! fixup A - offset: 0, value: .BB0, kind: fixup_sparc_br22
+ cb23 .BB0
+
+ ! CHECK: cb1 .BB0 ! encoding: [0x09,0b11AAAAAA,A,A]
+ ! CHECK-NEXT: ! fixup A - offset: 0, value: .BB0, kind: fixup_sparc_br22
+ cb1 .BB0
+
+ ! CHECK: cb13 .BB0 ! encoding: [0x07,0b11AAAAAA,A,A]
+ ! CHECK-NEXT: ! fixup A - offset: 0, value: .BB0, kind: fixup_sparc_br22
+ cb13 .BB0
+
+ ! CHECK: cb12 .BB0 ! encoding: [0x05,0b11AAAAAA,A,A]
+ ! CHECK-NEXT: ! fixup A - offset: 0, value: .BB0, kind: fixup_sparc_br22
+ cb12 .BB0
+
+ ! CHECK: cb123 .BB0 ! encoding: [0x03,0b11AAAAAA,A,A]
+ ! CHECK-NEXT: ! fixup A - offset: 0, value: .BB0, kind: fixup_sparc_br22
+ cb123 .BB0
+
+ ! CHECK: cb0 .BB0 ! encoding: [0x13,0b11AAAAAA,A,A]
+ ! CHECK-NEXT: ! fixup A - offset: 0, value: .BB0, kind: fixup_sparc_br22
+ cb0 .BB0
+
+ ! CHECK: cb03 .BB0 ! encoding: [0x15,0b11AAAAAA,A,A]
+ ! CHECK-NEXT: ! fixup A - offset: 0, value: .BB0, kind: fixup_sparc_br22
+ cb03 .BB0
+
+ ! CHECK: cb02 .BB0 ! encoding: [0x17,0b11AAAAAA,A,A]
+ ! CHECK-NEXT: ! fixup A - offset: 0, value: .BB0, kind: fixup_sparc_br22
+ cb02 .BB0
+
+ ! CHECK: cb023 .BB0 ! encoding: [0x19,0b11AAAAAA,A,A]
+ ! CHECK-NEXT: ! fixup A - offset: 0, value: .BB0, kind: fixup_sparc_br22
+ cb023 .BB0
+
+ ! CHECK: cb01 .BB0 ! encoding: [0x1b,0b11AAAAAA,A,A]
+ ! CHECK-NEXT: ! fixup A - offset: 0, value: .BB0, kind: fixup_sparc_br22
+ cb01 .BB0
+
+ ! CHECK: cb013 .BB0 ! encoding: [0x1d,0b11AAAAAA,A,A]
+ ! CHECK-NEXT: ! fixup A - offset: 0, value: .BB0, kind: fixup_sparc_br22
+ cb013 .BB0
+
+ ! CHECK: cb012 .BB0 ! encoding: [0x1f,0b11AAAAAA,A,A]
+ ! CHECK-NEXT: ! fixup A - offset: 0, value: .BB0, kind: fixup_sparc_br22
+ cb012 .BB0
! CHECK: ba,a .BB0 ! encoding: [0x30,0b10AAAAAA,A,A]
! CHECK-NEXT: ! fixup A - offset: 0, value: .BB0, kind: fixup_sparc_br22
@@ -317,3 +385,119 @@
! CHECK: rett %i7+8 ! encoding: [0x81,0xcf,0xe0,0x08]
rett %i7 + 8
+
+ ! CHECK: cb3,a .BB0 ! encoding: [0x2f,0b11AAAAAA,A,A]
+ ! CHECK-NEXT: ! fixup A - offset: 0, value: .BB0, kind: fixup_sparc_br22
+ cb3,a .BB0
+
+ ! CHECK: cb2,a .BB0 ! encoding: [0x2d,0b11AAAAAA,A,A]
+ ! CHECK-NEXT: ! fixup A - offset: 0, value: .BB0, kind: fixup_sparc_br22
+ cb2,a .BB0
+
+ ! CHECK: cb23,a .BB0 ! encoding: [0x2b,0b11AAAAAA,A,A]
+ ! CHECK-NEXT: ! fixup A - offset: 0, value: .BB0, kind: fixup_sparc_br22
+ cb23,a .BB0
+
+ ! CHECK: cb1,a .BB0 ! encoding: [0x29,0b11AAAAAA,A,A]
+ ! CHECK-NEXT: ! fixup A - offset: 0, value: .BB0, kind: fixup_sparc_br22
+ cb1,a .BB0
+
+ ! CHECK: cb13,a .BB0 ! encoding: [0x27,0b11AAAAAA,A,A]
+ ! CHECK-NEXT: ! fixup A - offset: 0, value: .BB0, kind: fixup_sparc_br22
+ cb13,a .BB0
+
+ ! CHECK: cb12,a .BB0 ! encoding: [0x25,0b11AAAAAA,A,A]
+ ! CHECK-NEXT: ! fixup A - offset: 0, value: .BB0, kind: fixup_sparc_br22
+ cb12,a .BB0
+
+ ! CHECK: cb123,a .BB0 ! encoding: [0x23,0b11AAAAAA,A,A]
+ ! CHECK-NEXT: ! fixup A - offset: 0, value: .BB0, kind: fixup_sparc_br22
+ cb123,a .BB0
+
+ ! CHECK: cb0,a .BB0 ! encoding: [0x33,0b11AAAAAA,A,A]
+ ! CHECK-NEXT: ! fixup A - offset: 0, value: .BB0, kind: fixup_sparc_br22
+ cb0,a .BB0
+
+ ! CHECK: cb03,a .BB0 ! encoding: [0x35,0b11AAAAAA,A,A]
+ ! CHECK-NEXT: ! fixup A - offset: 0, value: .BB0, kind: fixup_sparc_br22
+ cb03,a .BB0
+
+ ! CHECK: cb02,a .BB0 ! encoding: [0x37,0b11AAAAAA,A,A]
+ ! CHECK-NEXT: ! fixup A - offset: 0, value: .BB0, kind: fixup_sparc_br22
+ cb02,a .BB0
+
+ ! CHECK: cb023,a .BB0 ! encoding: [0x39,0b11AAAAAA,A,A]
+ ! CHECK-NEXT: ! fixup A - offset: 0, value: .BB0, kind: fixup_sparc_br22
+ cb023,a .BB0
+
+ ! CHECK: cb01,a .BB0 ! encoding: [0x3b,0b11AAAAAA,A,A]
+ ! CHECK-NEXT: ! fixup A - offset: 0, value: .BB0, kind: fixup_sparc_br22
+ cb01,a .BB0
+
+ ! CHECK: cb013,a .BB0 ! encoding: [0x3d,0b11AAAAAA,A,A]
+ ! CHECK-NEXT: ! fixup A - offset: 0, value: .BB0, kind: fixup_sparc_br22
+ cb013,a .BB0
+
+ ! CHECK: cb012,a .BB0 ! encoding: [0x3f,0b11AAAAAA,A,A]
+ ! CHECK-NEXT: ! fixup A - offset: 0, value: .BB0, kind: fixup_sparc_br22
+ cb012,a .BB0
+
+ ! CHECK: cb3,a .BB0 ! encoding: [0x2f,0b11AAAAAA,A,A]
+ ! CHECK-NEXT: ! fixup A - offset: 0, value: .BB0, kind: fixup_sparc_br22
+ cb3,a .BB0
+
+ ! CHECK: cb2,a .BB0 ! encoding: [0x2d,0b11AAAAAA,A,A]
+ ! CHECK-NEXT: ! fixup A - offset: 0, value: .BB0, kind: fixup_sparc_br22
+ cb2,a .BB0
+
+ ! CHECK: cb23,a .BB0 ! encoding: [0x2b,0b11AAAAAA,A,A]
+ ! CHECK-NEXT: ! fixup A - offset: 0, value: .BB0, kind: fixup_sparc_br22
+ cb23,a .BB0
+
+ ! CHECK: cb1,a .BB0 ! encoding: [0x29,0b11AAAAAA,A,A]
+ ! CHECK-NEXT: ! fixup A - offset: 0, value: .BB0, kind: fixup_sparc_br22
+ cb1,a .BB0
+
+ ! CHECK: cb13,a .BB0 ! encoding: [0x27,0b11AAAAAA,A,A]
+ ! CHECK-NEXT: ! fixup A - offset: 0, value: .BB0, kind: fixup_sparc_br22
+ cb13,a .BB0
+
+ ! CHECK: cb12,a .BB0 ! encoding: [0x25,0b11AAAAAA,A,A]
+ ! CHECK-NEXT: ! fixup A - offset: 0, value: .BB0, kind: fixup_sparc_br22
+ cb12,a .BB0
+
+ ! CHECK: cb123,a .BB0 ! encoding: [0x23,0b11AAAAAA,A,A]
+ ! CHECK-NEXT: ! fixup A - offset: 0, value: .BB0, kind: fixup_sparc_br22
+ cb123,a .BB0
+
+ ! CHECK: cb0,a .BB0 ! encoding: [0x33,0b11AAAAAA,A,A]
+ ! CHECK-NEXT: ! fixup A - offset: 0, value: .BB0, kind: fixup_sparc_br22
+ cb0,a .BB0
+
+ ! CHECK: cb03,a .BB0 ! encoding: [0x35,0b11AAAAAA,A,A]
+ ! CHECK-NEXT: ! fixup A - offset: 0, value: .BB0, kind: fixup_sparc_br22
+ cb03,a .BB0
+
+ ! CHECK: cb02,a .BB0 ! encoding: [0x37,0b11AAAAAA,A,A]
+ ! CHECK-NEXT: ! fixup A - offset: 0, value: .BB0, kind: fixup_sparc_br22
+ cb02,a .BB0
+
+ ! CHECK: cb023,a .BB0 ! encoding: [0x39,0b11AAAAAA,A,A]
+ ! CHECK-NEXT: ! fixup A - offset: 0, value: .BB0, kind: fixup_sparc_br22
+ cb023,a .BB0
+
+ ! CHECK: cb01,a .BB0 ! encoding: [0x3b,0b11AAAAAA,A,A]
+ ! CHECK-NEXT: ! fixup A - offset: 0, value: .BB0, kind: fixup_sparc_br22
+ cb01,a .BB0
+
+ ! CHECK: cb013,a .BB0 ! encoding: [0x3d,0b11AAAAAA,A,A]
+ ! CHECK-NEXT: ! fixup A - offset: 0, value: .BB0, kind: fixup_sparc_br22
+ cb013,a .BB0
+
+ ! CHECK: cb012,a .BB0 ! encoding: [0x3f,0b11AAAAAA,A,A]
+ ! CHECK-NEXT: ! fixup A - offset: 0, value: .BB0, kind: fixup_sparc_br22
+ cb012,a .BB0
+
+ ! CHECK: rett %i7+8 ! encoding: [0x81,0xcf,0xe0,0x08]
+ rett %i7 + 8
+
diff --git a/llvm/test/MC/Sparc/sparc-traps.s b/llvm/test/MC/Sparc/sparc-traps.s
new file mode 100644
index 00000000000..650477496f9
--- /dev/null
+++ b/llvm/test/MC/Sparc/sparc-traps.s
@@ -0,0 +1,151 @@
+! RUN: llvm-mc %s -arch=sparc -show-encoding | FileCheck %s
+
+ ! CHECK: ta %i5 ! encoding: [0x91,0xd0,0x00,0x1d]
+ ! CHECK: ta 82 ! encoding: [0x91,0xd0,0x20,0x52]
+ ! CHECK: ta %g1 + %i2 ! encoding: [0x91,0xd0,0x40,0x1a]
+ ! CHECK: ta %i5 + 41 ! encoding: [0x91,0xd7,0x60,0x29]
+ ta %i5
+ ta 82
+ ta %g1 + %i2
+ ta %i5 + 41
+
+ ! CHECK: tn %i5 ! encoding: [0x81,0xd0,0x00,0x1d]
+ ! CHECK: tn 82 ! encoding: [0x81,0xd0,0x20,0x52]
+ ! CHECK: tn %g1 + %i2 ! encoding: [0x81,0xd0,0x40,0x1a]
+ ! CHECK: tn %i5 + 41 ! encoding: [0x81,0xd7,0x60,0x29]
+ tn %i5
+ tn 82
+ tn %g1 + %i2
+ tn %i5 + 41
+
+ ! CHECK: tne %i5 ! encoding: [0x93,0xd0,0x00,0x1d]
+ !! tnz should be a synonym for tne
+ ! CHECK: tne %i5 ! encoding: [0x93,0xd0,0x00,0x1d]
+ ! CHECK: tne 82 ! encoding: [0x93,0xd0,0x20,0x52]
+ ! CHECK: tne %g1 + %i2 ! encoding: [0x93,0xd0,0x40,0x1a]
+ ! CHECK: tne %i5 + 41 ! encoding: [0x93,0xd7,0x60,0x29]
+ tne %i5
+ tnz %i5
+ tne 82
+ tne %g1 + %i2
+ tne %i5 + 41
+
+ ! CHECK: te %i5 ! encoding: [0x83,0xd0,0x00,0x1d]
+ !! tz should be a synonym for te
+ ! CHECK: te %i5 ! encoding: [0x83,0xd0,0x00,0x1d]
+ ! CHECK: te 82 ! encoding: [0x83,0xd0,0x20,0x52]
+ ! CHECK: te %g1 + %i2 ! encoding: [0x83,0xd0,0x40,0x1a]
+ ! CHECK: te %i5 + 41 ! encoding: [0x83,0xd7,0x60,0x29]
+ te %i5
+ tz %i5
+ te 82
+ te %g1 + %i2
+ te %i5 + 41
+
+ ! CHECK: tg %i5 ! encoding: [0x95,0xd0,0x00,0x1d]
+ ! CHECK: tg 82 ! encoding: [0x95,0xd0,0x20,0x52]
+ ! CHECK: tg %g1 + %i2 ! encoding: [0x95,0xd0,0x40,0x1a]
+ ! CHECK: tg %i5 + 41 ! encoding: [0x95,0xd7,0x60,0x29]
+ tg %i5
+ tg 82
+ tg %g1 + %i2
+ tg %i5 + 41
+
+ ! CHECK: tle %i5 ! encoding: [0x85,0xd0,0x00,0x1d]
+ ! CHECK: tle 82 ! encoding: [0x85,0xd0,0x20,0x52]
+ ! CHECK: tle %g1 + %i2 ! encoding: [0x85,0xd0,0x40,0x1a]
+ ! CHECK: tle %i5 + 41 ! encoding: [0x85,0xd7,0x60,0x29]
+ tle %i5
+ tle 82
+ tle %g1 + %i2
+ tle %i5 + 41
+
+ ! CHECK: tge %i5 ! encoding: [0x97,0xd0,0x00,0x1d]
+ ! CHECK: tge 82 ! encoding: [0x97,0xd0,0x20,0x52]
+ ! CHECK: tge %g1 + %i2 ! encoding: [0x97,0xd0,0x40,0x1a]
+ ! CHECK: tge %i5 + 41 ! encoding: [0x97,0xd7,0x60,0x29]
+ tge %i5
+ tge 82
+ tge %g1 + %i2
+ tge %i5 + 41
+
+ ! CHECK: tl %i5 ! encoding: [0x87,0xd0,0x00,0x1d]
+ ! CHECK: tl 82 ! encoding: [0x87,0xd0,0x20,0x52]
+ ! CHECK: tl %g1 + %i2 ! encoding: [0x87,0xd0,0x40,0x1a]
+ ! CHECK: tl %i5 + 41 ! encoding: [0x87,0xd7,0x60,0x29]
+ tl %i5
+ tl 82
+ tl %g1 + %i2
+ tl %i5 + 41
+
+ ! CHECK: tgu %i5 ! encoding: [0x99,0xd0,0x00,0x1d]
+ ! CHECK: tgu 82 ! encoding: [0x99,0xd0,0x20,0x52]
+ ! CHECK: tgu %g1 + %i2 ! encoding: [0x99,0xd0,0x40,0x1a]
+ ! CHECK: tgu %i5 + 41 ! encoding: [0x99,0xd7,0x60,0x29]
+ tgu %i5
+ tgu 82
+ tgu %g1 + %i2
+ tgu %i5 + 41
+
+ ! CHECK: tleu %i5 ! encoding: [0x89,0xd0,0x00,0x1d]
+ ! CHECK: tleu 82 ! encoding: [0x89,0xd0,0x20,0x52]
+ ! CHECK: tleu %g1 + %i2 ! encoding: [0x89,0xd0,0x40,0x1a]
+ ! CHECK: tleu %i5 + 41 ! encoding: [0x89,0xd7,0x60,0x29]
+ tleu %i5
+ tleu 82
+ tleu %g1 + %i2
+ tleu %i5 + 41
+
+ ! CHECK: tcc %i5 ! encoding: [0x9b,0xd0,0x00,0x1d]
+ ! CHECK: tcc 82 ! encoding: [0x9b,0xd0,0x20,0x52]
+ ! CHECK: tcc %g1 + %i2 ! encoding: [0x9b,0xd0,0x40,0x1a]
+ ! CHECK: tcc %i5 + 41 ! encoding: [0x9b,0xd7,0x60,0x29]
+ tcc %i5
+ tcc 82
+ tcc %g1 + %i2
+ tcc %i5 + 41
+
+ ! CHECK: tcs %i5 ! encoding: [0x8b,0xd0,0x00,0x1d]
+ ! CHECK: tcs 82 ! encoding: [0x8b,0xd0,0x20,0x52]
+ ! CHECK: tcs %g1 + %i2 ! encoding: [0x8b,0xd0,0x40,0x1a]
+ ! CHECK: tcs %i5 + 41 ! encoding: [0x8b,0xd7,0x60,0x29]
+ tcs %i5
+ tcs 82
+ tcs %g1 + %i2
+ tcs %i5 + 41
+
+ ! CHECK: tpos %i5 ! encoding: [0x9d,0xd0,0x00,0x1d]
+ ! CHECK: tpos 82 ! encoding: [0x9d,0xd0,0x20,0x52]
+ ! CHECK: tpos %g1 + %i2 ! encoding: [0x9d,0xd0,0x40,0x1a]
+ ! CHECK: tpos %i5 + 41 ! encoding: [0x9d,0xd7,0x60,0x29]
+ tpos %i5
+ tpos 82
+ tpos %g1 + %i2
+ tpos %i5 + 41
+
+ ! CHECK: tneg %i5 ! encoding: [0x8d,0xd0,0x00,0x1d]
+ ! CHECK: tneg 82 ! encoding: [0x8d,0xd0,0x20,0x52]
+ ! CHECK: tneg %g1 + %i2 ! encoding: [0x8d,0xd0,0x40,0x1a]
+ ! CHECK: tneg %i5 + 41 ! encoding: [0x8d,0xd7,0x60,0x29]
+ tneg %i5
+ tneg 82
+ tneg %g1 + %i2
+ tneg %i5 + 41
+
+ ! CHECK: tvc %i5 ! encoding: [0x9f,0xd0,0x00,0x1d]
+ ! CHECK: tvc 82 ! encoding: [0x9f,0xd0,0x20,0x52]
+ ! CHECK: tvc %g1 + %i2 ! encoding: [0x9f,0xd0,0x40,0x1a]
+ ! CHECK: tvc %i5 + 41 ! encoding: [0x9f,0xd7,0x60,0x29]
+ tvc %i5
+ tvc 82
+ tvc %g1 + %i2
+ tvc %i5 + 41
+
+ ! CHECK: tvs %i5 ! encoding: [0x8f,0xd0,0x00,0x1d]
+ ! CHECK: tvs 82 ! encoding: [0x8f,0xd0,0x20,0x52]
+ ! CHECK: tvs %g1 + %i2 ! encoding: [0x8f,0xd0,0x40,0x1a]
+ ! CHECK: tvs %i5 + 41 ! encoding: [0x8f,0xd7,0x60,0x29]
+ tvs %i5
+ tvs 82
+ tvs %g1 + %i2
+ tvs %i5 + 41
diff --git a/llvm/test/MC/Sparc/sparc-v9-traps.s b/llvm/test/MC/Sparc/sparc-v9-traps.s
new file mode 100644
index 00000000000..da11b36003b
--- /dev/null
+++ b/llvm/test/MC/Sparc/sparc-v9-traps.s
@@ -0,0 +1,303 @@
+! RUN: llvm-mc %s -arch=sparcv9 -show-encoding | FileCheck %s
+
+ ! CHECK: ta %icc, %i5 ! encoding: [0x91,0xd0,0x00,0x1d]
+ ! CHECK: ta %icc, 82 ! encoding: [0x91,0xd0,0x20,0x52]
+ ! CHECK: ta %icc, %g1 + %i2 ! encoding: [0x91,0xd0,0x40,0x1a]
+ ! CHECK: ta %icc, %i5 + 41 ! encoding: [0x91,0xd7,0x60,0x29]
+ ta %icc, %i5
+ ta %icc, 82
+ ta %icc, %g1 + %i2
+ ta %icc, %i5 + 41
+
+ ! CHECK: tn %icc, %i5 ! encoding: [0x81,0xd0,0x00,0x1d]
+ ! CHECK: tn %icc, 82 ! encoding: [0x81,0xd0,0x20,0x52]
+ ! CHECK: tn %icc, %g1 + %i2 ! encoding: [0x81,0xd0,0x40,0x1a]
+ ! CHECK: tn %icc, %i5 + 41 ! encoding: [0x81,0xd7,0x60,0x29]
+ tn %icc, %i5
+ tn %icc, 82
+ tn %icc, %g1 + %i2
+ tn %icc, %i5 + 41
+
+ ! CHECK: tne %icc, %i5 ! encoding: [0x93,0xd0,0x00,0x1d]
+ !! tnz should be a synonym for tne
+ ! CHECK: tne %icc, %i5 ! encoding: [0x93,0xd0,0x00,0x1d]
+ ! CHECK: tne %icc, 82 ! encoding: [0x93,0xd0,0x20,0x52]
+ ! CHECK: tne %icc, %g1 + %i2 ! encoding: [0x93,0xd0,0x40,0x1a]
+ ! CHECK: tne %icc, %i5 + 41 ! encoding: [0x93,0xd7,0x60,0x29]
+ tne %icc, %i5
+ tnz %icc, %i5
+ tne %icc, 82
+ tne %icc, %g1 + %i2
+ tne %icc, %i5 + 41
+
+ ! CHECK: te %icc, %i5 ! encoding: [0x83,0xd0,0x00,0x1d]
+ !! tz should be a synonym for te
+ ! CHECK: te %icc, %i5 ! encoding: [0x83,0xd0,0x00,0x1d]
+ ! CHECK: te %icc, 82 ! encoding: [0x83,0xd0,0x20,0x52]
+ ! CHECK: te %icc, %g1 + %i2 ! encoding: [0x83,0xd0,0x40,0x1a]
+ ! CHECK: te %icc, %i5 + 41 ! encoding: [0x83,0xd7,0x60,0x29]
+ te %icc, %i5
+ tz %icc, %i5
+ te %icc, 82
+ te %icc, %g1 + %i2
+ te %icc, %i5 + 41
+
+ ! CHECK: tg %icc, %i5 ! encoding: [0x95,0xd0,0x00,0x1d]
+ ! CHECK: tg %icc, 82 ! encoding: [0x95,0xd0,0x20,0x52]
+ ! CHECK: tg %icc, %g1 + %i2 ! encoding: [0x95,0xd0,0x40,0x1a]
+ ! CHECK: tg %icc, %i5 + 41 ! encoding: [0x95,0xd7,0x60,0x29]
+ tg %icc, %i5
+ tg %icc, 82
+ tg %icc, %g1 + %i2
+ tg %icc, %i5 + 41
+
+ ! CHECK: tle %icc, %i5 ! encoding: [0x85,0xd0,0x00,0x1d]
+ ! CHECK: tle %icc, 82 ! encoding: [0x85,0xd0,0x20,0x52]
+ ! CHECK: tle %icc, %g1 + %i2 ! encoding: [0x85,0xd0,0x40,0x1a]
+ ! CHECK: tle %icc, %i5 + 41 ! encoding: [0x85,0xd7,0x60,0x29]
+ tle %icc, %i5
+ tle %icc, 82
+ tle %icc, %g1 + %i2
+ tle %icc, %i5 + 41
+
+ ! CHECK: tge %icc, %i5 ! encoding: [0x97,0xd0,0x00,0x1d]
+ ! CHECK: tge %icc, 82 ! encoding: [0x97,0xd0,0x20,0x52]
+ ! CHECK: tge %icc, %g1 + %i2 ! encoding: [0x97,0xd0,0x40,0x1a]
+ ! CHECK: tge %icc, %i5 + 41 ! encoding: [0x97,0xd7,0x60,0x29]
+ tge %icc, %i5
+ tge %icc, 82
+ tge %icc, %g1 + %i2
+ tge %icc, %i5 + 41
+
+ ! CHECK: tl %icc, %i5 ! encoding: [0x87,0xd0,0x00,0x1d]
+ ! CHECK: tl %icc, 82 ! encoding: [0x87,0xd0,0x20,0x52]
+ ! CHECK: tl %icc, %g1 + %i2 ! encoding: [0x87,0xd0,0x40,0x1a]
+ ! CHECK: tl %icc, %i5 + 41 ! encoding: [0x87,0xd7,0x60,0x29]
+ tl %icc, %i5
+ tl %icc, 82
+ tl %icc, %g1 + %i2
+ tl %icc, %i5 + 41
+
+ ! CHECK: tgu %icc, %i5 ! encoding: [0x99,0xd0,0x00,0x1d]
+ ! CHECK: tgu %icc, 82 ! encoding: [0x99,0xd0,0x20,0x52]
+ ! CHECK: tgu %icc, %g1 + %i2 ! encoding: [0x99,0xd0,0x40,0x1a]
+ ! CHECK: tgu %icc, %i5 + 41 ! encoding: [0x99,0xd7,0x60,0x29]
+ tgu %icc, %i5
+ tgu %icc, 82
+ tgu %icc, %g1 + %i2
+ tgu %icc, %i5 + 41
+
+ ! CHECK: tleu %icc, %i5 ! encoding: [0x89,0xd0,0x00,0x1d]
+ ! CHECK: tleu %icc, 82 ! encoding: [0x89,0xd0,0x20,0x52]
+ ! CHECK: tleu %icc, %g1 + %i2 ! encoding: [0x89,0xd0,0x40,0x1a]
+ ! CHECK: tleu %icc, %i5 + 41 ! encoding: [0x89,0xd7,0x60,0x29]
+ tleu %icc, %i5
+ tleu %icc, 82
+ tleu %icc, %g1 + %i2
+ tleu %icc, %i5 + 41
+
+ ! CHECK: tcc %icc, %i5 ! encoding: [0x9b,0xd0,0x00,0x1d]
+ ! CHECK: tcc %icc, 82 ! encoding: [0x9b,0xd0,0x20,0x52]
+ ! CHECK: tcc %icc, %g1 + %i2 ! encoding: [0x9b,0xd0,0x40,0x1a]
+ ! CHECK: tcc %icc, %i5 + 41 ! encoding: [0x9b,0xd7,0x60,0x29]
+ tcc %icc, %i5
+ tcc %icc, 82
+ tcc %icc, %g1 + %i2
+ tcc %icc, %i5 + 41
+
+ ! CHECK: tcs %icc, %i5 ! encoding: [0x8b,0xd0,0x00,0x1d]
+ ! CHECK: tcs %icc, 82 ! encoding: [0x8b,0xd0,0x20,0x52]
+ ! CHECK: tcs %icc, %g1 + %i2 ! encoding: [0x8b,0xd0,0x40,0x1a]
+ ! CHECK: tcs %icc, %i5 + 41 ! encoding: [0x8b,0xd7,0x60,0x29]
+ tcs %icc, %i5
+ tcs %icc, 82
+ tcs %icc, %g1 + %i2
+ tcs %icc, %i5 + 41
+
+ ! CHECK: tpos %icc, %i5 ! encoding: [0x9d,0xd0,0x00,0x1d]
+ ! CHECK: tpos %icc, 82 ! encoding: [0x9d,0xd0,0x20,0x52]
+ ! CHECK: tpos %icc, %g1 + %i2 ! encoding: [0x9d,0xd0,0x40,0x1a]
+ ! CHECK: tpos %icc, %i5 + 41 ! encoding: [0x9d,0xd7,0x60,0x29]
+ tpos %icc, %i5
+ tpos %icc, 82
+ tpos %icc, %g1 + %i2
+ tpos %icc, %i5 + 41
+
+ ! CHECK: tneg %icc, %i5 ! encoding: [0x8d,0xd0,0x00,0x1d]
+ ! CHECK: tneg %icc, 82 ! encoding: [0x8d,0xd0,0x20,0x52]
+ ! CHECK: tneg %icc, %g1 + %i2 ! encoding: [0x8d,0xd0,0x40,0x1a]
+ ! CHECK: tneg %icc, %i5 + 41 ! encoding: [0x8d,0xd7,0x60,0x29]
+ tneg %icc, %i5
+ tneg %icc, 82
+ tneg %icc, %g1 + %i2
+ tneg %icc, %i5 + 41
+
+ ! CHECK: tvc %icc, %i5 ! encoding: [0x9f,0xd0,0x00,0x1d]
+ ! CHECK: tvc %icc, 82 ! encoding: [0x9f,0xd0,0x20,0x52]
+ ! CHECK: tvc %icc, %g1 + %i2 ! encoding: [0x9f,0xd0,0x40,0x1a]
+ ! CHECK: tvc %icc, %i5 + 41 ! encoding: [0x9f,0xd7,0x60,0x29]
+ tvc %icc, %i5
+ tvc %icc, 82
+ tvc %icc, %g1 + %i2
+ tvc %icc, %i5 + 41
+
+ ! CHECK: tvs %icc, %i5 ! encoding: [0x8f,0xd0,0x00,0x1d]
+ ! CHECK: tvs %icc, 82 ! encoding: [0x8f,0xd0,0x20,0x52]
+ ! CHECK: tvs %icc, %g1 + %i2 ! encoding: [0x8f,0xd0,0x40,0x1a]
+ ! CHECK: tvs %icc, %i5 + 41 ! encoding: [0x8f,0xd7,0x60,0x29]
+ tvs %icc, %i5
+ tvs %icc, 82
+ tvs %icc, %g1 + %i2
+ tvs %icc, %i5 + 41
+
+
+ ! CHECK: ta %xcc, %i5 ! encoding: [0x91,0xd0,0x10,0x1d]
+ ! CHECK: ta %xcc, 82 ! encoding: [0x91,0xd0,0x30,0x52]
+ ! CHECK: ta %xcc, %g1 + %i2 ! encoding: [0x91,0xd0,0x50,0x1a]
+ ! CHECK: ta %xcc, %i5 + 41 ! encoding: [0x91,0xd7,0x70,0x29]
+ ta %xcc, %i5
+ ta %xcc, 82
+ ta %xcc, %g1 + %i2
+ ta %xcc, %i5 + 41
+
+ ! CHECK: tn %xcc, %i5 ! encoding: [0x81,0xd0,0x10,0x1d]
+ ! CHECK: tn %xcc, 82 ! encoding: [0x81,0xd0,0x30,0x52]
+ ! CHECK: tn %xcc, %g1 + %i2 ! encoding: [0x81,0xd0,0x50,0x1a]
+ ! CHECK: tn %xcc, %i5 + 41 ! encoding: [0x81,0xd7,0x70,0x29]
+ tn %xcc, %i5
+ tn %xcc, 82
+ tn %xcc, %g1 + %i2
+ tn %xcc, %i5 + 41
+
+ ! CHECK: tne %xcc, %i5 ! encoding: [0x93,0xd0,0x10,0x1d]
+ !! tnz should be a synonym for tne
+ ! CHECK: tne %xcc, %i5 ! encoding: [0x93,0xd0,0x10,0x1d]
+ ! CHECK: tne %xcc, 82 ! encoding: [0x93,0xd0,0x30,0x52]
+ ! CHECK: tne %xcc, %g1 + %i2 ! encoding: [0x93,0xd0,0x50,0x1a]
+ ! CHECK: tne %xcc, %i5 + 41 ! encoding: [0x93,0xd7,0x70,0x29]
+ tne %xcc, %i5
+ tnz %xcc, %i5
+ tne %xcc, 82
+ tne %xcc, %g1 + %i2
+ tne %xcc, %i5 + 41
+
+ ! CHECK: te %xcc, %i5 ! encoding: [0x83,0xd0,0x10,0x1d]
+ !! tz should be a synonym for te
+ ! CHECK: te %xcc, %i5 ! encoding: [0x83,0xd0,0x10,0x1d]
+ ! CHECK: te %xcc, 82 ! encoding: [0x83,0xd0,0x30,0x52]
+ ! CHECK: te %xcc, %g1 + %i2 ! encoding: [0x83,0xd0,0x50,0x1a]
+ ! CHECK: te %xcc, %i5 + 41 ! encoding: [0x83,0xd7,0x70,0x29]
+ te %xcc, %i5
+ tz %xcc, %i5
+ te %xcc, 82
+ te %xcc, %g1 + %i2
+ te %xcc, %i5 + 41
+
+ ! CHECK: tg %xcc, %i5 ! encoding: [0x95,0xd0,0x10,0x1d]
+ ! CHECK: tg %xcc, 82 ! encoding: [0x95,0xd0,0x30,0x52]
+ ! CHECK: tg %xcc, %g1 + %i2 ! encoding: [0x95,0xd0,0x50,0x1a]
+ ! CHECK: tg %xcc, %i5 + 41 ! encoding: [0x95,0xd7,0x70,0x29]
+ tg %xcc, %i5
+ tg %xcc, 82
+ tg %xcc, %g1 + %i2
+ tg %xcc, %i5 + 41
+
+ ! CHECK: tle %xcc, %i5 ! encoding: [0x85,0xd0,0x10,0x1d]
+ ! CHECK: tle %xcc, 82 ! encoding: [0x85,0xd0,0x30,0x52]
+ ! CHECK: tle %xcc, %g1 + %i2 ! encoding: [0x85,0xd0,0x50,0x1a]
+ ! CHECK: tle %xcc, %i5 + 41 ! encoding: [0x85,0xd7,0x70,0x29]
+ tle %xcc, %i5
+ tle %xcc, 82
+ tle %xcc, %g1 + %i2
+ tle %xcc, %i5 + 41
+
+ ! CHECK: tge %xcc, %i5 ! encoding: [0x97,0xd0,0x10,0x1d]
+ ! CHECK: tge %xcc, 82 ! encoding: [0x97,0xd0,0x30,0x52]
+ ! CHECK: tge %xcc, %g1 + %i2 ! encoding: [0x97,0xd0,0x50,0x1a]
+ ! CHECK: tge %xcc, %i5 + 41 ! encoding: [0x97,0xd7,0x70,0x29]
+ tge %xcc, %i5
+ tge %xcc, 82
+ tge %xcc, %g1 + %i2
+ tge %xcc, %i5 + 41
+
+ ! CHECK: tl %xcc, %i5 ! encoding: [0x87,0xd0,0x10,0x1d]
+ ! CHECK: tl %xcc, 82 ! encoding: [0x87,0xd0,0x30,0x52]
+ ! CHECK: tl %xcc, %g1 + %i2 ! encoding: [0x87,0xd0,0x50,0x1a]
+ ! CHECK: tl %xcc, %i5 + 41 ! encoding: [0x87,0xd7,0x70,0x29]
+ tl %xcc, %i5
+ tl %xcc, 82
+ tl %xcc, %g1 + %i2
+ tl %xcc, %i5 + 41
+
+ ! CHECK: tgu %xcc, %i5 ! encoding: [0x99,0xd0,0x10,0x1d]
+ ! CHECK: tgu %xcc, 82 ! encoding: [0x99,0xd0,0x30,0x52]
+ ! CHECK: tgu %xcc, %g1 + %i2 ! encoding: [0x99,0xd0,0x50,0x1a]
+ ! CHECK: tgu %xcc, %i5 + 41 ! encoding: [0x99,0xd7,0x70,0x29]
+ tgu %xcc, %i5
+ tgu %xcc, 82
+ tgu %xcc, %g1 + %i2
+ tgu %xcc, %i5 + 41
+
+ ! CHECK: tleu %xcc, %i5 ! encoding: [0x89,0xd0,0x10,0x1d]
+ ! CHECK: tleu %xcc, 82 ! encoding: [0x89,0xd0,0x30,0x52]
+ ! CHECK: tleu %xcc, %g1 + %i2 ! encoding: [0x89,0xd0,0x50,0x1a]
+ ! CHECK: tleu %xcc, %i5 + 41 ! encoding: [0x89,0xd7,0x70,0x29]
+ tleu %xcc, %i5
+ tleu %xcc, 82
+ tleu %xcc, %g1 + %i2
+ tleu %xcc, %i5 + 41
+
+ ! CHECK: tcc %xcc, %i5 ! encoding: [0x9b,0xd0,0x10,0x1d]
+ ! CHECK: tcc %xcc, 82 ! encoding: [0x9b,0xd0,0x30,0x52]
+ ! CHECK: tcc %xcc, %g1 + %i2 ! encoding: [0x9b,0xd0,0x50,0x1a]
+ ! CHECK: tcc %xcc, %i5 + 41 ! encoding: [0x9b,0xd7,0x70,0x29]
+ tcc %xcc, %i5
+ tcc %xcc, 82
+ tcc %xcc, %g1 + %i2
+ tcc %xcc, %i5 + 41
+
+ ! CHECK: tcs %xcc, %i5 ! encoding: [0x8b,0xd0,0x10,0x1d]
+ ! CHECK: tcs %xcc, 82 ! encoding: [0x8b,0xd0,0x30,0x52]
+ ! CHECK: tcs %xcc, %g1 + %i2 ! encoding: [0x8b,0xd0,0x50,0x1a]
+ ! CHECK: tcs %xcc, %i5 + 41 ! encoding: [0x8b,0xd7,0x70,0x29]
+ tcs %xcc, %i5
+ tcs %xcc, 82
+ tcs %xcc, %g1 + %i2
+ tcs %xcc, %i5 + 41
+
+ ! CHECK: tpos %xcc, %i5 ! encoding: [0x9d,0xd0,0x10,0x1d]
+ ! CHECK: tpos %xcc, 82 ! encoding: [0x9d,0xd0,0x30,0x52]
+ ! CHECK: tpos %xcc, %g1 + %i2 ! encoding: [0x9d,0xd0,0x50,0x1a]
+ ! CHECK: tpos %xcc, %i5 + 41 ! encoding: [0x9d,0xd7,0x70,0x29]
+ tpos %xcc, %i5
+ tpos %xcc, 82
+ tpos %xcc, %g1 + %i2
+ tpos %xcc, %i5 + 41
+
+ ! CHECK: tneg %xcc, %i5 ! encoding: [0x8d,0xd0,0x10,0x1d]
+ ! CHECK: tneg %xcc, 82 ! encoding: [0x8d,0xd0,0x30,0x52]
+ ! CHECK: tneg %xcc, %g1 + %i2 ! encoding: [0x8d,0xd0,0x50,0x1a]
+ ! CHECK: tneg %xcc, %i5 + 41 ! encoding: [0x8d,0xd7,0x70,0x29]
+ tneg %xcc, %i5
+ tneg %xcc, 82
+ tneg %xcc, %g1 + %i2
+ tneg %xcc, %i5 + 41
+
+ ! CHECK: tvc %xcc, %i5 ! encoding: [0x9f,0xd0,0x10,0x1d]
+ ! CHECK: tvc %xcc, 82 ! encoding: [0x9f,0xd0,0x30,0x52]
+ ! CHECK: tvc %xcc, %g1 + %i2 ! encoding: [0x9f,0xd0,0x50,0x1a]
+ ! CHECK: tvc %xcc, %i5 + 41 ! encoding: [0x9f,0xd7,0x70,0x29]
+ tvc %xcc, %i5
+ tvc %xcc, 82
+ tvc %xcc, %g1 + %i2
+ tvc %xcc, %i5 + 41
+
+ ! CHECK: tvs %xcc, %i5 ! encoding: [0x8f,0xd0,0x10,0x1d]
+ ! CHECK: tvs %xcc, 82 ! encoding: [0x8f,0xd0,0x30,0x52]
+ ! CHECK: tvs %xcc, %g1 + %i2 ! encoding: [0x8f,0xd0,0x50,0x1a]
+ ! CHECK: tvs %xcc, %i5 + 41 ! encoding: [0x8f,0xd7,0x70,0x29]
+ tvs %xcc, %i5
+ tvs %xcc, 82
+ tvs %xcc, %g1 + %i2
+ tvs %xcc, %i5 + 41
+ \ No newline at end of file
diff --git a/llvm/test/MC/Sparc/sparc64-ctrl-instructions.s b/llvm/test/MC/Sparc/sparc64-ctrl-instructions.s
index 0e7ea25cab9..d1a744f7526 100644
--- a/llvm/test/MC/Sparc/sparc64-ctrl-instructions.s
+++ b/llvm/test/MC/Sparc/sparc64-ctrl-instructions.s
@@ -1230,9 +1230,3 @@
! CHECK: rett %i7+8 ! encoding: [0x81,0xcf,0xe0,0x08]
return %i7 + 8
- ! CHECK: ta %icc, %g0 + 5 ! encoding: [0x91,0xd0,0x20,0x05]
- ta 5
-
- ! CHECK: te %xcc, %g0 + 3 ! encoding: [0x83,0xd0,0x30,0x03]
- te %xcc, 3
-
OpenPOWER on IntegriCloud