[PATCH] D83465: Encode alignment attribute for `atomicrmw`
Guillaume Chatelet via Phabricator via llvm-commits
llvm-commits at lists.llvm.org
Thu Sep 10 02:39:31 PDT 2020
gchatelet updated this revision to Diff 290915.
gchatelet added a comment.
- Use non trivial alignment in tests
Repository:
rG LLVM Github Monorepo
CHANGES SINCE LAST ACTION
https://reviews.llvm.org/D83465/new/
https://reviews.llvm.org/D83465
Files:
llvm/test/Bitcode/compatibility.ll
Index: llvm/test/Bitcode/compatibility.ll
===================================================================
--- llvm/test/Bitcode/compatibility.ll
+++ llvm/test/Bitcode/compatibility.ll
@@ -758,28 +758,29 @@
; CHECK: %atomicrmw_no_align.umin = atomicrmw volatile umin i32* %word, i32 22 syncscope("singlethread") monotonic
;; Atomic w/ alignment
- %atomicrmw.xchg = atomicrmw xchg i32* %word, i32 12 monotonic, align 4
- ; CHECK: %atomicrmw.xchg = atomicrmw xchg i32* %word, i32 12 monotonic, align 4
- %atomicrmw.add = atomicrmw add i32* %word, i32 13 monotonic, align 4
- ; CHECK: %atomicrmw.add = atomicrmw add i32* %word, i32 13 monotonic, align 4
- %atomicrmw.sub = atomicrmw sub i32* %word, i32 14 monotonic, align 4
- ; CHECK: %atomicrmw.sub = atomicrmw sub i32* %word, i32 14 monotonic, align 4
- %atomicrmw.and = atomicrmw and i32* %word, i32 15 monotonic, align 4
- ; CHECK: %atomicrmw.and = atomicrmw and i32* %word, i32 15 monotonic, align 4
- %atomicrmw.nand = atomicrmw nand i32* %word, i32 16 monotonic, align 4
- ; CHECK: %atomicrmw.nand = atomicrmw nand i32* %word, i32 16 monotonic, align 4
- %atomicrmw.or = atomicrmw or i32* %word, i32 17 monotonic, align 4
- ; CHECK: %atomicrmw.or = atomicrmw or i32* %word, i32 17 monotonic, align 4
- %atomicrmw.xor = atomicrmw xor i32* %word, i32 18 monotonic, align 4
- ; CHECK: %atomicrmw.xor = atomicrmw xor i32* %word, i32 18 monotonic, align 4
- %atomicrmw.max = atomicrmw max i32* %word, i32 19 monotonic, align 4
- ; CHECK: %atomicrmw.max = atomicrmw max i32* %word, i32 19 monotonic, align 4
- %atomicrmw.min = atomicrmw volatile min i32* %word, i32 20 monotonic, align 4
- ; CHECK: %atomicrmw.min = atomicrmw volatile min i32* %word, i32 20 monotonic, align 4
- %atomicrmw.umax = atomicrmw umax i32* %word, i32 21 syncscope("singlethread") monotonic, align 4
- ; CHECK: %atomicrmw.umax = atomicrmw umax i32* %word, i32 21 syncscope("singlethread") monotonic, align 4
- %atomicrmw.umin = atomicrmw volatile umin i32* %word, i32 22 syncscope("singlethread") monotonic, align 4
- ; CHECK: %atomicrmw.umin = atomicrmw volatile umin i32* %word, i32 22 syncscope("singlethread") monotonic, align 4
+ %atomicrmw.xchg = atomicrmw xchg i32* %word, i32 12 monotonic, align 16
+ ; CHECK: %atomicrmw.xchg = atomicrmw xchg i32* %word, i32 12 monotonic, align 16
+ %atomicrmw.add = atomicrmw add i32* %word, i32 13 monotonic, align 16
+ ; CHECK: %atomicrmw.add = atomicrmw add i32* %word, i32 13 monotonic, align 16
+ %atomicrmw.sub = atomicrmw sub i32* %word, i32 14 monotonic, align 16
+ ; CHECK: %atomicrmw.sub = atomicrmw sub i32* %word, i32 14 monotonic, align 16
+ %atomicrmw.and = atomicrmw and i32* %word, i32 15 monotonic, align 16
+ ; CHECK: %atomicrmw.and = atomicrmw and i32* %word, i32 15 monotonic, align 16
+ %atomicrmw.nand = atomicrmw nand i32* %word, i32 16 monotonic, align 16
+ ; CHECK: %atomicrmw.nand = atomicrmw nand i32* %word, i32 16 monotonic, align 16
+ %atomicrmw.or = atomicrmw or i32* %word, i32 17 monotonic, align 16
+ ; CHECK: %atomicrmw.or = atomicrmw or i32* %word, i32 17 monotonic, align 16
+ %atomicrmw.xor = atomicrmw xor i32* %word, i32 18 monotonic, align 16
+ ; CHECK: %atomicrmw.xor = atomicrmw xor i32* %word, i32 18 monotonic, align 16
+ %atomicrmw.max = atomicrmw max i32* %word, i32 19 monotonic, align 16
+ ; CHECK: %atomicrmw.max = atomicrmw max i32* %word, i32 19 monotonic, align 16
+ %atomicrmw.min = atomicrmw volatile min i32* %word, i32 20 monotonic, align 16
+ ; CHECK: %atomicrmw.min = atomicrmw volatile min i32* %word, i32 20 monotonic, align 16
+ %atomicrmw.umax = atomicrmw umax i32* %word, i32 21 syncscope("singlethread") monotonic, align 16
+ ; CHECK: %atomicrmw.umax = atomicrmw umax i32* %word, i32 21 syncscope("singlethread") monotonic, align 16
+ %atomicrmw.umin = atomicrmw volatile umin i32* %word, i32 22 syncscope("singlethread") monotonic, align 16
+ ; CHECK: %atomicrmw.umin = atomicrmw volatile umin i32* %word, i32 22 syncscope("singlethread") monotonic, align 16
+
fence acquire
; CHECK: fence acquire
fence release
-------------- next part --------------
A non-text attachment was scrubbed...
Name: D83465.290915.patch
Type: text/x-patch
Size: 4112 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20200910/ca65af22/attachment.bin>
More information about the llvm-commits
mailing list