diff options
| author | Krzysztof Parzyszek <kparzysz@codeaurora.org> | 2016-08-19 16:57:05 +0000 |
|---|---|---|
| committer | Krzysztof Parzyszek <kparzysz@codeaurora.org> | 2016-08-19 16:57:05 +0000 |
| commit | 639545b4d8aa3609346fdde711e6918bab129df2 (patch) | |
| tree | 684e065937ec0aad924ba7b3b8a5af72d4e7cd86 /llvm/test/CodeGen | |
| parent | a871d3872ac55cfab62492e2a1fb7b056d204668 (diff) | |
| download | bcm5719-llvm-639545b4d8aa3609346fdde711e6918bab129df2.tar.gz bcm5719-llvm-639545b4d8aa3609346fdde711e6918bab129df2.zip | |
[Hexagon] Enforce LLSC packetization rules
Ensure that load locked and store conditional instructions are only
packetized with ALU32 instructions.
Patch by Ben Craig.
llvm-svn: 279272
Diffstat (limited to 'llvm/test/CodeGen')
| -rw-r--r-- | llvm/test/CodeGen/Hexagon/intrinsics/llsc_bundling.ll | 12 |
1 files changed, 12 insertions, 0 deletions
diff --git a/llvm/test/CodeGen/Hexagon/intrinsics/llsc_bundling.ll b/llvm/test/CodeGen/Hexagon/intrinsics/llsc_bundling.ll new file mode 100644 index 00000000000..966945b66f4 --- /dev/null +++ b/llvm/test/CodeGen/Hexagon/intrinsics/llsc_bundling.ll @@ -0,0 +1,12 @@ +; RUN: llc -march=hexagon < %s +target triple = "hexagon-unknown--elf" + +; Function Attrs: norecurse nounwind +define void @_Z4lockv() #0 { +entry: + %__shared_owners = alloca i32, align 4 + %0 = cmpxchg weak i32* %__shared_owners, i32 0, i32 1 seq_cst seq_cst + ret void +} + +attributes #0 = { nounwind } |

