================
@@ -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

Reply via email to