blob: acedcb46cce2eb9a7d6b323c8bf065ec02ff66f2 [file] [log] [blame]
Venkatraman Govindaraju0458b592014-01-07 01:49:11 +00001! RUN: llvm-mc %s -arch=sparc -show-encoding | FileCheck %s
2! RUN: llvm-mc %s -arch=sparcv9 -show-encoding | FileCheck %s
3
Venkatraman Govindaraju559c4ac2014-01-07 08:00:49 +00004 ! CHECK: call foo ! encoding: [0b01AAAAAA,A,A,A]
5 ! CHECK: ! fixup A - offset: 0, value: foo, kind: fixup_sparc_call30
Venkatraman Govindaraju0458b592014-01-07 01:49:11 +00006 call foo
7
Venkatraman Govindaraju559c4ac2014-01-07 08:00:49 +00008 ! CHECK: call %g1+%i2 ! encoding: [0x9f,0xc0,0x40,0x1a]
Venkatraman Govindaraju0458b592014-01-07 01:49:11 +00009 call %g1 + %i2
10
Venkatraman Govindaraju559c4ac2014-01-07 08:00:49 +000011 ! CHECK: call %o1+8 ! encoding: [0x9f,0xc2,0x60,0x08]
Venkatraman Govindaraju0458b592014-01-07 01:49:11 +000012 call %o1 + 8
13
Venkatraman Govindaraju559c4ac2014-01-07 08:00:49 +000014 ! CHECK: call %g1 ! encoding: [0x9f,0xc0,0x60,0x00]
Venkatraman Govindaraju0458b592014-01-07 01:49:11 +000015 call %g1
16
Venkatraman Govindaraju559c4ac2014-01-07 08:00:49 +000017 ! CHECK: call %g1+%lo(sym) ! encoding: [0x9f,0xc0,0b011000AA,A]
18 ! CHECK-NEXT: ! fixup A - offset: 0, value: %lo(sym), kind: fixup_sparc_lo10
19 call %g1+%lo(sym)
20
21 ! CHECK: jmp %g1+%i2 ! encoding: [0x81,0xc0,0x40,0x1a]
Venkatraman Govindaraju0458b592014-01-07 01:49:11 +000022 jmp %g1 + %i2
23
Venkatraman Govindaraju559c4ac2014-01-07 08:00:49 +000024 ! CHECK: jmp %o1+8 ! encoding: [0x81,0xc2,0x60,0x08]
Venkatraman Govindaraju0458b592014-01-07 01:49:11 +000025 jmp %o1 + 8
26
Venkatraman Govindaraju559c4ac2014-01-07 08:00:49 +000027 ! CHECK: jmp %g1 ! encoding: [0x81,0xc0,0x60,0x00]
Venkatraman Govindaraju0458b592014-01-07 01:49:11 +000028 jmp %g1
Venkatraman Govindaraju559c4ac2014-01-07 08:00:49 +000029
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
32 jmp %g1+%lo(sym)
33
Venkatraman Govindarajub3b7c382014-01-08 06:14:52 +000034 ! CHECK: ba .BB0 ! encoding: [0x10,0b10AAAAAA,A,A]
35 ! CHECK-NEXT: ! fixup A - offset: 0, value: .BB0, kind: fixup_sparc_br22
36 ba .BB0
37
38 ! CHECK: bne .BB0 ! encoding: [0x12,0b10AAAAAA,A,A]
39 ! CHECK-NEXT: ! fixup A - offset: 0, value: .BB0, kind: fixup_sparc_br22
40 bne .BB0
41
42 ! CHECK: be .BB0 ! encoding: [0x02,0b10AAAAAA,A,A]
43 ! CHECK-NEXT: ! fixup A - offset: 0, value: .BB0, kind: fixup_sparc_br22
44 be .BB0
45
46 ! CHECK: bg .BB0 ! encoding: [0x14,0b10AAAAAA,A,A]
47 ! CHECK-NEXT: ! fixup A - offset: 0, value: .BB0, kind: fixup_sparc_br22
48 bg .BB0
49
50 ! CHECK: ble .BB0 ! encoding: [0x04,0b10AAAAAA,A,A]
51 ! CHECK-NEXT: ! fixup A - offset: 0, value: .BB0, kind: fixup_sparc_br22
52 ble .BB0
53
54 ! CHECK: bge .BB0 ! encoding: [0x16,0b10AAAAAA,A,A]
55 ! CHECK-NEXT: ! fixup A - offset: 0, value: .BB0, kind: fixup_sparc_br22
56 bge .BB0
57
58 ! CHECK: bl .BB0 ! encoding: [0x06,0b10AAAAAA,A,A]
59 ! CHECK-NEXT: ! fixup A - offset: 0, value: .BB0, kind: fixup_sparc_br22
60 bl .BB0
61
62 ! CHECK: bgu .BB0 ! encoding: [0x18,0b10AAAAAA,A,A]
63 ! CHECK-NEXT: ! fixup A - offset: 0, value: .BB0, kind: fixup_sparc_br22
64 bgu .BB0
65
66 ! CHECK: bleu .BB0 ! encoding: [0x08,0b10AAAAAA,A,A]
67 ! CHECK-NEXT: ! fixup A - offset: 0, value: .BB0, kind: fixup_sparc_br22
68 bleu .BB0
69
70 ! CHECK: bcc .BB0 ! encoding: [0x1a,0b10AAAAAA,A,A]
71 ! CHECK-NEXT: ! fixup A - offset: 0, value: .BB0, kind: fixup_sparc_br22
72 bcc .BB0
73
74 ! CHECK: bcs .BB0 ! encoding: [0x0a,0b10AAAAAA,A,A]
75 ! CHECK-NEXT: ! fixup A - offset: 0, value: .BB0, kind: fixup_sparc_br22
76 bcs .BB0
77
78 ! CHECK: bpos .BB0 ! encoding: [0x1c,0b10AAAAAA,A,A]
79 ! CHECK-NEXT: ! fixup A - offset: 0, value: .BB0, kind: fixup_sparc_br22
80 bpos .BB0
81
82 ! CHECK: bneg .BB0 ! encoding: [0x0c,0b10AAAAAA,A,A]
83 ! CHECK-NEXT: ! fixup A - offset: 0, value: .BB0, kind: fixup_sparc_br22
84 bneg .BB0
85
86 ! CHECK: bvc .BB0 ! encoding: [0x1e,0b10AAAAAA,A,A]
87 ! CHECK-NEXT: ! fixup A - offset: 0, value: .BB0, kind: fixup_sparc_br22
88 bvc .BB0
89
90 ! CHECK: bvs .BB0 ! encoding: [0x0e,0b10AAAAAA,A,A]
91 ! CHECK-NEXT: ! fixup A - offset: 0, value: .BB0, kind: fixup_sparc_br22
92 bvs .BB0
93
94 ! CHECK: fbu .BB0 ! encoding: [0x0f,0b10AAAAAA,A,A]
95 ! CHECK-NEXT: ! fixup A - offset: 0, value: .BB0, kind: fixup_sparc_br22
96 fbu .BB0
97
98 ! CHECK: fbg .BB0 ! encoding: [0x0d,0b10AAAAAA,A,A]
99 ! CHECK-NEXT: ! fixup A - offset: 0, value: .BB0, kind: fixup_sparc_br22
100 fbg .BB0
101 ! CHECK: fbug .BB0 ! encoding: [0x0b,0b10AAAAAA,A,A]
102 ! CHECK-NEXT: ! fixup A - offset: 0, value: .BB0, kind: fixup_sparc_br22
103 fbug .BB0
104
105 ! CHECK: fbl .BB0 ! encoding: [0x09,0b10AAAAAA,A,A]
106 ! CHECK-NEXT: ! fixup A - offset: 0, value: .BB0, kind: fixup_sparc_br22
107 fbl .BB0
108
109 ! CHECK: fbul .BB0 ! encoding: [0x07,0b10AAAAAA,A,A]
110 ! CHECK-NEXT: ! fixup A - offset: 0, value: .BB0, kind: fixup_sparc_br22
111 fbul .BB0
112
113 ! CHECK: fblg .BB0 ! encoding: [0x05,0b10AAAAAA,A,A]
114 ! CHECK-NEXT: ! fixup A - offset: 0, value: .BB0, kind: fixup_sparc_br22
115 fblg .BB0
116
117 ! CHECK: fbne .BB0 ! encoding: [0x03,0b10AAAAAA,A,A]
118 ! CHECK-NEXT: ! fixup A - offset: 0, value: .BB0, kind: fixup_sparc_br22
119 fbne .BB0
120
121 ! CHECK: fbe .BB0 ! encoding: [0x13,0b10AAAAAA,A,A]
122 ! CHECK-NEXT: ! fixup A - offset: 0, value: .BB0, kind: fixup_sparc_br22
123 fbe .BB0
124
125 ! CHECK: fbue .BB0 ! encoding: [0x15,0b10AAAAAA,A,A]
126 ! CHECK-NEXT: ! fixup A - offset: 0, value: .BB0, kind: fixup_sparc_br22
127 fbue .BB0
128
129 ! CHECK: fbge .BB0 ! encoding: [0x17,0b10AAAAAA,A,A]
130 ! CHECK-NEXT: ! fixup A - offset: 0, value: .BB0, kind: fixup_sparc_br22
131 fbge .BB0
132
133 ! CHECK: fbuge .BB0 ! encoding: [0x19,0b10AAAAAA,A,A]
134 ! CHECK-NEXT: ! fixup A - offset: 0, value: .BB0, kind: fixup_sparc_br22
135 fbuge .BB0
136
137 ! CHECK: fble .BB0 ! encoding: [0x1b,0b10AAAAAA,A,A]
138 ! CHECK-NEXT: ! fixup A - offset: 0, value: .BB0, kind: fixup_sparc_br22
139 fble .BB0
140
141 ! CHECK: fbule .BB0 ! encoding: [0x1d,0b10AAAAAA,A,A]
142 ! CHECK-NEXT: ! fixup A - offset: 0, value: .BB0, kind: fixup_sparc_br22
143 fbule .BB0
144
145 ! CHECK: fbo .BB0 ! encoding: [0x1f,0b10AAAAAA,A,A]
146 ! CHECK-NEXT: ! fixup A - offset: 0, value: .BB0, kind: fixup_sparc_br22
147 fbo .BB0