Skip to content

Commit 6d52e82

Browse files
authored
Rollup merge of #157832 - durin42:llvm-23-riscv, r=mati865
test: make riscv-float-struct-abi.rs robust against LLVM scheduling Something in a recent LLVM 23 change (I didn't figure out which, the change was easy enough to spot) caused these loads etc to get reordered in a way that doesn't matter. Switch all these checks to CHECK-DAG so we can accept either way and not pointlessly over-constrain.
2 parents 96e9e1d + cb34854 commit 6d52e82

1 file changed

Lines changed: 22 additions & 22 deletions

File tree

tests/assembly-llvm/riscv-float-struct-abi.rs

Lines changed: 22 additions & 22 deletions
Original file line numberDiff line numberDiff line change
@@ -105,17 +105,17 @@ extern "C" fn pass_packed(out: &mut Packed, x: Packed) {
105105
extern "C" fn ret_packed(x: &Packed) -> Packed {
106106
// CHECK: addi sp, sp, -16
107107
// CHECK-NEXT: .cfi_def_cfa_offset 16
108-
// CHECK-NEXT: lbu [[BYTE2:.*]], 2(a0)
109-
// CHECK-NEXT: lbu [[BYTE1:.*]], 1(a0)
110-
// CHECK-NEXT: lbu [[BYTE3:.*]], 3(a0)
111-
// CHECK-NEXT: lbu [[BYTE4:.*]], 4(a0)
112-
// CHECK-NEXT: slli [[SHIFTED2:.*]], [[BYTE2]], 8
113-
// CHECK-NEXT: or [[BYTE12:.*]], [[SHIFTED2]], [[BYTE1]]
114-
// CHECK-NEXT: slli [[SHIFTED3:.*]], [[BYTE3]], 16
115-
// CHECK-NEXT: slli [[SHIFTED4:.*]], [[BYTE4]], 24
116-
// CHECK-NEXT: or [[BYTE34:.*]], [[SHIFTED3]], [[SHIFTED4]]
117-
// CHECK-NEXT: or [[VALUE:.*]], [[BYTE12]], [[BYTE34]]
118-
// CHECK-NEXT: sw [[VALUE]], 8(sp)
108+
// CHECK-DAG: lbu [[BYTE2:.*]], 2(a0)
109+
// CHECK-DAG: lbu [[BYTE1:.*]], 1(a0)
110+
// CHECK-DAG: lbu [[BYTE3:.*]], 3(a0)
111+
// CHECK-DAG: lbu [[BYTE4:.*]], 4(a0)
112+
// CHECK-DAG: slli [[SHIFTED2:.*]], [[BYTE2]], 8
113+
// CHECK-DAG: or [[BYTE12:.*]], [[SHIFTED2]], [[BYTE1]]
114+
// CHECK-DAG: slli [[SHIFTED3:.*]], [[BYTE3]], 16
115+
// CHECK-DAG: slli [[SHIFTED4:.*]], [[BYTE4]], 24
116+
// CHECK-DAG: or [[BYTE34:.*]], [[SHIFTED3]], [[SHIFTED4]]
117+
// CHECK-DAG: or [[VALUE:.*]], [[BYTE12]], [[BYTE34]]
118+
// CHECK: sw [[VALUE]], 8(sp)
119119
// CHECK-NEXT: flw fa0, 8(sp)
120120
// CHECK-NEXT: lbu a0, 0(a0)
121121
// CHECK-NEXT: addi sp, sp, 16
@@ -127,17 +127,17 @@ extern "C" fn ret_packed(x: &Packed) -> Packed {
127127
extern "C" fn call_packed(x: &Packed) {
128128
// CHECK: addi sp, sp, -16
129129
// CHECK-NEXT: .cfi_def_cfa_offset 16
130-
// CHECK-NEXT: lbu [[BYTE2:.*]], 2(a0)
131-
// CHECK-NEXT: lbu [[BYTE1:.*]], 1(a0)
132-
// CHECK-NEXT: lbu [[BYTE3:.*]], 3(a0)
133-
// CHECK-NEXT: lbu [[BYTE4:.*]], 4(a0)
134-
// CHECK-NEXT: slli [[SHIFTED2:.*]], [[BYTE2]], 8
135-
// CHECK-NEXT: or [[BYTE12:.*]], [[SHIFTED2]], [[BYTE1]]
136-
// CHECK-NEXT: slli [[SHIFTED3:.*]], [[BYTE3]], 16
137-
// CHECK-NEXT: slli [[SHIFTED4:.*]], [[BYTE4]], 24
138-
// CHECK-NEXT: or [[BYTE34:.*]], [[SHIFTED3]], [[SHIFTED4]]
139-
// CHECK-NEXT: or [[VALUE:.*]], [[BYTE12]], [[BYTE34]]
140-
// CHECK-NEXT: sw [[VALUE]], 8(sp)
130+
// CHECK-DAG: lbu [[BYTE2:.*]], 2(a0)
131+
// CHECK-DAG: lbu [[BYTE1:.*]], 1(a0)
132+
// CHECK-DAG: lbu [[BYTE3:.*]], 3(a0)
133+
// CHECK-DAG: lbu [[BYTE4:.*]], 4(a0)
134+
// CHECK-DAG: slli [[SHIFTED2:.*]], [[BYTE2]], 8
135+
// CHECK-DAG: or [[BYTE12:.*]], [[SHIFTED2]], [[BYTE1]]
136+
// CHECK-DAG: slli [[SHIFTED3:.*]], [[BYTE3]], 16
137+
// CHECK-DAG: slli [[SHIFTED4:.*]], [[BYTE4]], 24
138+
// CHECK-DAG: or [[BYTE34:.*]], [[SHIFTED3]], [[SHIFTED4]]
139+
// CHECK-DAG: or [[VALUE:.*]], [[BYTE12]], [[BYTE34]]
140+
// CHECK: sw [[VALUE]], 8(sp)
141141
// CHECK-NEXT: flw fa0, 8(sp)
142142
// CHECK-NEXT: lbu a0, 0(a0)
143143
// CHECK-NEXT: addi sp, sp, 16

0 commit comments

Comments
 (0)