================
@@ -0,0 +1,219 @@
+; NOTE: Assertions have been autogenerated by utils/update_llc_test_checks.py
UTC_ARGS: --version 6
+; RUN: llc -mtriple=aarch64 -mattr=+v9.6a < %s | FileCheck %s
+; RUN: llc -mtriple=aarch64 -mattr=+v9.6a -global-isel=1 < %s | FileCheck %s
+
+define void @test_keep_relaxed(ptr %p, i32 %v) {
+; CHECK-LABEL: test_keep_relaxed:
+; CHECK: // %bb.0:
+; CHECK-NEXT: mov w8, w1
+; CHECK-NEXT: stshh keep
+; CHECK-NEXT: str w8, [x0]
+; CHECK-NEXT: ret
+ %v64 = zext i32 %v to i64
----------------
kmclaughlin-arm wrote:
Sorry, my comment wasn't very clear.
I just meant that I don't think it's necessary to have the extends included
with these tests, since the last operand of the intrinsic is the size.
So this test could be:
```
define void @test_keep_relaxed_i32(ptr %p, i64 %v) {
; CHECK-LABEL: test_keep_relaxed_i32:
; CHECK: // %bb.0:
; CHECK-NEXT: stshh keep
; CHECK-NEXT: str w1, [x0]
; CHECK-NEXT: ret
call void @llvm.aarch64.stshh.atomic.store.p0(ptr %p, i64 %v, i32 0, i32 0,
i32 32)
ret void
}
```
https://github.com/llvm/llvm-project/pull/181386
_______________________________________________
cfe-commits mailing list
[email protected]
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits