@@ -130,23 +130,33 @@ declare i64 @llvm.aarch64.ldxr.p0(ptr) nounwind
130130
131131; FALLBACK-NOT: remark:{{.*}}test_store_i8
132132define dso_local i32 @test_store_i8 (i32 , i8 %val , ptr %addr ) {
133- ; CHECK-LABEL: test_store_i8:
134- ; CHECK: // %bb.0:
135- ; CHECK-NEXT: // kill: def $w1 killed $w1 def $x1
136- ; CHECK-NEXT: stxrb w0, w1, [x2]
137- ; CHECK-NEXT: ret
133+ ; SDAG-LABEL: test_store_i8:
134+ ; SDAG: // %bb.0:
135+ ; SDAG-NEXT: // kill: def $w1 killed $w1 def $x1
136+ ; SDAG-NEXT: stxrb w0, w1, [x2]
137+ ; SDAG-NEXT: ret
138+ ;
139+ ; GISEL-LABEL: test_store_i8:
140+ ; GISEL: // %bb.0:
141+ ; GISEL-NEXT: stxrb w0, w1, [x2]
142+ ; GISEL-NEXT: ret
138143 %extval = zext i8 %val to i64
139144 %res = call i32 @llvm.aarch64.stxr.p0 (i64 %extval , ptr elementtype(i8 ) %addr )
140145 ret i32 %res
141146}
142147
143148; FALLBACK-NOT: remark:{{.*}}test_store_i16
144149define dso_local i32 @test_store_i16 (i32 , i16 %val , ptr %addr ) {
145- ; CHECK-LABEL: test_store_i16:
146- ; CHECK: // %bb.0:
147- ; CHECK-NEXT: // kill: def $w1 killed $w1 def $x1
148- ; CHECK-NEXT: stxrh w0, w1, [x2]
149- ; CHECK-NEXT: ret
150+ ; SDAG-LABEL: test_store_i16:
151+ ; SDAG: // %bb.0:
152+ ; SDAG-NEXT: // kill: def $w1 killed $w1 def $x1
153+ ; SDAG-NEXT: stxrh w0, w1, [x2]
154+ ; SDAG-NEXT: ret
155+ ;
156+ ; GISEL-LABEL: test_store_i16:
157+ ; GISEL: // %bb.0:
158+ ; GISEL-NEXT: stxrh w0, w1, [x2]
159+ ; GISEL-NEXT: ret
150160 %extval = zext i16 %val to i64
151161 %res = call i32 @llvm.aarch64.stxr.p0 (i64 %extval , ptr elementtype(i16 ) %addr )
152162 ret i32 %res
@@ -310,23 +320,33 @@ declare i64 @llvm.aarch64.ldaxr.p0(ptr) nounwind
310320
311321; FALLBACK-NOT: remark:{{.*}}test_store_release_i8
312322define dso_local i32 @test_store_release_i8 (i32 , i8 %val , ptr %addr ) {
313- ; CHECK-LABEL: test_store_release_i8:
314- ; CHECK: // %bb.0:
315- ; CHECK-NEXT: // kill: def $w1 killed $w1 def $x1
316- ; CHECK-NEXT: stlxrb w0, w1, [x2]
317- ; CHECK-NEXT: ret
323+ ; SDAG-LABEL: test_store_release_i8:
324+ ; SDAG: // %bb.0:
325+ ; SDAG-NEXT: // kill: def $w1 killed $w1 def $x1
326+ ; SDAG-NEXT: stlxrb w0, w1, [x2]
327+ ; SDAG-NEXT: ret
328+ ;
329+ ; GISEL-LABEL: test_store_release_i8:
330+ ; GISEL: // %bb.0:
331+ ; GISEL-NEXT: stlxrb w0, w1, [x2]
332+ ; GISEL-NEXT: ret
318333 %extval = zext i8 %val to i64
319334 %res = call i32 @llvm.aarch64.stlxr.p0 (i64 %extval , ptr elementtype(i8 ) %addr )
320335 ret i32 %res
321336}
322337
323338; FALLBACK-NOT: remark:{{.*}}test_store_release_i16
324339define dso_local i32 @test_store_release_i16 (i32 , i16 %val , ptr %addr ) {
325- ; CHECK-LABEL: test_store_release_i16:
326- ; CHECK: // %bb.0:
327- ; CHECK-NEXT: // kill: def $w1 killed $w1 def $x1
328- ; CHECK-NEXT: stlxrh w0, w1, [x2]
329- ; CHECK-NEXT: ret
340+ ; SDAG-LABEL: test_store_release_i16:
341+ ; SDAG: // %bb.0:
342+ ; SDAG-NEXT: // kill: def $w1 killed $w1 def $x1
343+ ; SDAG-NEXT: stlxrh w0, w1, [x2]
344+ ; SDAG-NEXT: ret
345+ ;
346+ ; GISEL-LABEL: test_store_release_i16:
347+ ; GISEL: // %bb.0:
348+ ; GISEL-NEXT: stlxrh w0, w1, [x2]
349+ ; GISEL-NEXT: ret
330350 %extval = zext i16 %val to i64
331351 %res = call i32 @llvm.aarch64.stlxr.p0 (i64 %extval , ptr elementtype(i16 ) %addr )
332352 ret i32 %res
0 commit comments