Skip to content

Commit 8c0f604

Browse files
committed
Took xry's idea
1 parent d1f23ba commit 8c0f604

File tree

1 file changed

+6
-5
lines changed

1 file changed

+6
-5
lines changed

llvm/test/CodeGen/LoongArch/inline-asm-constraint-q.ll

Lines changed: 6 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -6,15 +6,16 @@ define i32 @constraint_q_not_r0() {
66
; CHECK-NOT: csrxchg ${{[a-z]*}}, $r0, 0
77
; CHECK-NOT: csrxchg ${{[a-z]*}}, $zero, 0
88
entry:
9-
%1 = tail call i32 asm "csrxchg $0, $1, $2", "=r,q,i,0"(i32 0, i32 0, i32 0)
10-
ret i32 %1
9+
%2 = tail call i32 asm "csrxchg $0, $1, 0", "=r,q,0"(i32 0, i32 0)
10+
ret i32 %2
1111
}
1212

1313
;; Check that the "q" operand is not R1.
14-
define i32 @constraint_q_not_r1() {
14+
define i32 @constraint_q_not_r1(i32 %0) {
1515
; CHECK-NOT: csrxchg ${{[a-z]*}}, $r1, 0
1616
; CHECK-NOT: csrxchg ${{[a-z]*}}, $ra, 0
1717
entry:
18-
%0 = tail call i32 asm "csrxchg $0, $1, $2", "=r,q,i,{r4},{r5},{r6},{r7},{r8},{r9},{r10},{r11},{r12},{r13},{r14},{r15},{r16},{r17},{r18},{r19},{r20},{r23},{r24},{r25},{r26},{r27},{r28},{r29},{r30},{r31},0"(i32 4, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0)
19-
ret i32 %0
18+
%2 = tail call i32 asm "", "={$r1},{$r1}"(i32 undef)
19+
%3 = tail call i32 asm "csrxchg $0, $1, 0", "=r,q,0"(i32 %2, i32 %0)
20+
ret i32 %3
2021
}

0 commit comments

Comments
 (0)