1 ! RUN: llvm-mc %s -arch=sparc -show-encoding | FileCheck %s
2 ! RUN: llvm-mc %s -arch=sparcv9 -show-encoding | FileCheck %s
4 ! CHECK: call foo ! encoding: [0b01AAAAAA,A,A,A]
5 ! CHECK: ! fixup A - offset: 0, value: foo, kind: fixup_sparc_call30
8 ! CHECK: call %g1+%i2 ! encoding: [0x9f,0xc0,0x40,0x1a]
11 ! CHECK: call %o1+8 ! encoding: [0x9f,0xc2,0x60,0x08]
14 ! CHECK: call %g1 ! encoding: [0x9f,0xc0,0x60,0x00]
17 ! CHECK: call %g1+%lo(sym) ! encoding: [0x9f,0xc0,0b011000AA,A]
18 ! CHECK-NEXT: ! fixup A - offset: 0, value: %lo(sym), kind: fixup_sparc_lo10
21 ! CHECK: jmp %g1+%i2 ! encoding: [0x81,0xc0,0x40,0x1a]
24 ! CHECK: jmp %o1+8 ! encoding: [0x81,0xc2,0x60,0x08]
27 ! CHECK: jmp %g1 ! encoding: [0x81,0xc0,0x60,0x00]
30 ! CHECK: jmp %g1+%lo(sym) ! encoding: [0x81,0xc0,0b011000AA,A]
31 ! CHECK-NEXT: ! fixup A - offset: 0, value: %lo(sym), kind: fixup_sparc_lo10
34 ! CHECK: jmpl %g1+%i2, %g2 ! encoding: [0x85,0xc0,0x40,0x1a]
37 ! CHECK: jmpl %o1+8, %g2 ! encoding: [0x85,0xc2,0x60,0x08]
40 ! CHECK: jmpl %g1, %g2 ! encoding: [0x85,0xc0,0x60,0x00]
43 ! CHECK: jmpl %g1+%lo(sym), %g2 ! encoding: [0x85,0xc0,0b011000AA,A]
44 ! CHECK-NEXT: ! fixup A - offset: 0, value: %lo(sym), kind: fixup_sparc_lo10
45 jmpl %g1+%lo(sym), %g2
47 ! CHECK: ba .BB0 ! encoding: [0x10,0b10AAAAAA,A,A]
48 ! CHECK-NEXT: ! fixup A - offset: 0, value: .BB0, kind: fixup_sparc_br22
51 ! CHECK: bne .BB0 ! encoding: [0x12,0b10AAAAAA,A,A]
52 ! CHECK-NEXT: ! fixup A - offset: 0, value: .BB0, kind: fixup_sparc_br22
55 ! CHECK: be .BB0 ! encoding: [0x02,0b10AAAAAA,A,A]
56 ! CHECK-NEXT: ! fixup A - offset: 0, value: .BB0, kind: fixup_sparc_br22
59 ! CHECK: bg .BB0 ! encoding: [0x14,0b10AAAAAA,A,A]
60 ! CHECK-NEXT: ! fixup A - offset: 0, value: .BB0, kind: fixup_sparc_br22
63 ! CHECK: ble .BB0 ! encoding: [0x04,0b10AAAAAA,A,A]
64 ! CHECK-NEXT: ! fixup A - offset: 0, value: .BB0, kind: fixup_sparc_br22
67 ! CHECK: bge .BB0 ! encoding: [0x16,0b10AAAAAA,A,A]
68 ! CHECK-NEXT: ! fixup A - offset: 0, value: .BB0, kind: fixup_sparc_br22
71 ! CHECK: bl .BB0 ! encoding: [0x06,0b10AAAAAA,A,A]
72 ! CHECK-NEXT: ! fixup A - offset: 0, value: .BB0, kind: fixup_sparc_br22
75 ! CHECK: bgu .BB0 ! encoding: [0x18,0b10AAAAAA,A,A]
76 ! CHECK-NEXT: ! fixup A - offset: 0, value: .BB0, kind: fixup_sparc_br22
79 ! CHECK: bleu .BB0 ! encoding: [0x08,0b10AAAAAA,A,A]
80 ! CHECK-NEXT: ! fixup A - offset: 0, value: .BB0, kind: fixup_sparc_br22
83 ! CHECK: bcc .BB0 ! encoding: [0x1a,0b10AAAAAA,A,A]
84 ! CHECK-NEXT: ! fixup A - offset: 0, value: .BB0, kind: fixup_sparc_br22
87 ! CHECK: bcs .BB0 ! encoding: [0x0a,0b10AAAAAA,A,A]
88 ! CHECK-NEXT: ! fixup A - offset: 0, value: .BB0, kind: fixup_sparc_br22
91 ! CHECK: bpos .BB0 ! encoding: [0x1c,0b10AAAAAA,A,A]
92 ! CHECK-NEXT: ! fixup A - offset: 0, value: .BB0, kind: fixup_sparc_br22
95 ! CHECK: bneg .BB0 ! encoding: [0x0c,0b10AAAAAA,A,A]
96 ! CHECK-NEXT: ! fixup A - offset: 0, value: .BB0, kind: fixup_sparc_br22
99 ! CHECK: bvc .BB0 ! encoding: [0x1e,0b10AAAAAA,A,A]
100 ! CHECK-NEXT: ! fixup A - offset: 0, value: .BB0, kind: fixup_sparc_br22
103 ! CHECK: bvs .BB0 ! encoding: [0x0e,0b10AAAAAA,A,A]
104 ! CHECK-NEXT: ! fixup A - offset: 0, value: .BB0, kind: fixup_sparc_br22
107 ! CHECK: fbu .BB0 ! encoding: [0x0f,0b10AAAAAA,A,A]
108 ! CHECK-NEXT: ! fixup A - offset: 0, value: .BB0, kind: fixup_sparc_br22
111 ! CHECK: fbg .BB0 ! encoding: [0x0d,0b10AAAAAA,A,A]
112 ! CHECK-NEXT: ! fixup A - offset: 0, value: .BB0, kind: fixup_sparc_br22
114 ! CHECK: fbug .BB0 ! encoding: [0x0b,0b10AAAAAA,A,A]
115 ! CHECK-NEXT: ! fixup A - offset: 0, value: .BB0, kind: fixup_sparc_br22
118 ! CHECK: fbl .BB0 ! encoding: [0x09,0b10AAAAAA,A,A]
119 ! CHECK-NEXT: ! fixup A - offset: 0, value: .BB0, kind: fixup_sparc_br22
122 ! CHECK: fbul .BB0 ! encoding: [0x07,0b10AAAAAA,A,A]
123 ! CHECK-NEXT: ! fixup A - offset: 0, value: .BB0, kind: fixup_sparc_br22
126 ! CHECK: fblg .BB0 ! encoding: [0x05,0b10AAAAAA,A,A]
127 ! CHECK-NEXT: ! fixup A - offset: 0, value: .BB0, kind: fixup_sparc_br22
130 ! CHECK: fbne .BB0 ! encoding: [0x03,0b10AAAAAA,A,A]
131 ! CHECK-NEXT: ! fixup A - offset: 0, value: .BB0, kind: fixup_sparc_br22
134 ! CHECK: fbe .BB0 ! encoding: [0x13,0b10AAAAAA,A,A]
135 ! CHECK-NEXT: ! fixup A - offset: 0, value: .BB0, kind: fixup_sparc_br22
138 ! CHECK: fbue .BB0 ! encoding: [0x15,0b10AAAAAA,A,A]
139 ! CHECK-NEXT: ! fixup A - offset: 0, value: .BB0, kind: fixup_sparc_br22
142 ! CHECK: fbge .BB0 ! encoding: [0x17,0b10AAAAAA,A,A]
143 ! CHECK-NEXT: ! fixup A - offset: 0, value: .BB0, kind: fixup_sparc_br22
146 ! CHECK: fbuge .BB0 ! encoding: [0x19,0b10AAAAAA,A,A]
147 ! CHECK-NEXT: ! fixup A - offset: 0, value: .BB0, kind: fixup_sparc_br22
150 ! CHECK: fble .BB0 ! encoding: [0x1b,0b10AAAAAA,A,A]
151 ! CHECK-NEXT: ! fixup A - offset: 0, value: .BB0, kind: fixup_sparc_br22
154 ! CHECK: fbule .BB0 ! encoding: [0x1d,0b10AAAAAA,A,A]
155 ! CHECK-NEXT: ! fixup A - offset: 0, value: .BB0, kind: fixup_sparc_br22
158 ! CHECK: fbo .BB0 ! encoding: [0x1f,0b10AAAAAA,A,A]
159 ! CHECK-NEXT: ! fixup A - offset: 0, value: .BB0, kind: fixup_sparc_br22