1
1
; RUN: llc < %s -march=sbf -mattr=+store-imm -show-mc-encoding | FileCheck %s
2
2
; RUN: llc < %s -march=sbf -mattr=+store-imm,+alu32 -show-mc-encoding | FileCheck %s
3
3
; RUN: llc < %s -march=sbf -mattr=+store-imm,+mem-encoding -show-mc-encoding | FileCheck --check-prefix=CHECK-V2 %s
4
+ ; RUN: llc -march=sbf -mcpu=v3 -filetype=obj -o - %s | llvm-objdump -d --no-print-imm-hex - | FileCheck --check-prefix=CHECK-DUMP %s
4
5
5
6
define void @byte (ptr %p0 ) {
6
7
; CHECK-LABEL: byte:
@@ -10,6 +11,10 @@ define void @byte(ptr %p0) {
10
11
11
12
; CHECK-V2: stb [r1 + 0], 1 # encoding: [0x27,0x01,0x00,0x00,0x01,0x00,0x00,0x00]
12
13
; CHECK-V2: stb [r1 + 1], 255 # encoding: [0x27,0x01,0x01,0x00,0xff,0x00,0x00,0x00]
14
+
15
+ ; CHECK-DUMP: stb [r1 + 0], 1
16
+ ; CHECK-DUMP: stb [r1 + 1], 255
17
+
13
18
%p1 = getelementptr i8 , ptr %p0 , i32 1
14
19
store volatile i8 1 , ptr %p0 , align 1
15
20
store volatile i8 -1 , ptr %p1 , align 1
@@ -23,6 +28,10 @@ define void @half(ptr, ptr %p0) {
23
28
24
29
; CHECK-V2: sth [r2 + 0], 1 # encoding: [0x37,0x02,0x00,0x00,0x01,0x00,0x00,0x00]
25
30
; CHECK-V2: sth [r2 + 2], 65535 # encoding: [0x37,0x02,0x02,0x00,0xff,0xff,0x00,0x00]
31
+
32
+ ; CHECK-DUMP: sth [r2 + 0], 1
33
+ ; CHECK-DUMP: sth [r2 + 2], 65535
34
+
26
35
%p1 = getelementptr i8 , ptr %p0 , i32 2
27
36
store volatile i16 1 , ptr %p0 , align 2
28
37
store volatile i16 -1 , ptr %p1 , align 2
@@ -42,6 +51,13 @@ define void @word(ptr, ptr, ptr %p0) {
42
51
; CHECK-V2: stw [r3 + 8], -2000000000 # encoding: [0x87,0x03,0x08,0x00,0x00,0x6c,0xca,0x88]
43
52
; CHECK-V2: stw [r3 + 12], -1 # encoding: [0x87,0x03,0x0c,0x00,0xff,0xff,0xff,0xff]
44
53
; CHECK-V2: stw [r3 + 12], 0 # encoding: [0x87,0x03,0x0c,0x00,0x00,0x00,0x00,0x00]
54
+
55
+ ; CHECK-DUMP: stw [r3 + 0], 1
56
+ ; CHECK-DUMP: stw [r3 + 4], -1
57
+ ; CHECK-DUMP: stw [r3 + 8], -2000000000
58
+ ; CHECK-DUMP: stw [r3 + 12], -1
59
+ ; CHECK-DUMP: stw [r3 + 12], 0
60
+
45
61
%p1 = getelementptr i8 , ptr %p0 , i32 4
46
62
%p2 = getelementptr i8 , ptr %p0 , i32 8
47
63
%p3 = getelementptr i8 , ptr %p0 , i32 12
@@ -68,6 +84,12 @@ define void @dword(ptr, ptr, ptr, ptr %p0) {
68
84
; CHECK-V2: stdw [r4 + 16], -2000000000 # encoding: [0x97,0x04,0x10,0x00,0x00,0x6c,0xca,0x88]
69
85
; CHECK-V2: lddw r1, 4294967295 # encoding: [0x18,0x01,0x00,0x00,0xff,0xff,0xff,0xff,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00]
70
86
; CHECK-V2: stxdw [r4 + 24], r1 # encoding: [0x9f,0x14,0x18,0x00,0x00,0x00,0x00,0x00]
87
+
88
+ ; CHECK-DUMP: stdw [r4 + 0], 1
89
+ ; CHECK-DUMP: stdw [r4 + 8], -1
90
+ ; CHECK-DUMP: stdw [r4 + 16], 2000000000
91
+ ; CHECK-DUMP: stdw [r4 + 16], -2000000000
92
+
71
93
%p1 = getelementptr i8 , ptr %p0 , i32 8
72
94
%p2 = getelementptr i8 , ptr %p0 , i32 16
73
95
%p3 = getelementptr i8 , ptr %p0 , i32 24
0 commit comments