Sanjay Patel | 8aeffd8 | 2018-11-20 15:49:42 +0000 | [diff] [blame] | 1 | ; NOTE: Assertions have been autogenerated by utils/update_llc_test_checks.py |
| 2 | ; RUN: llc < %s -mtriple=aarch64-- | FileCheck %s |
| 3 | |
| 4 | define i32 @PR39657(i8* %p, i64 %x) { |
| 5 | ; CHECK-LABEL: PR39657: |
| 6 | ; CHECK: // %bb.0: |
Sanjay Patel | 3e80019 | 2018-11-22 19:24:10 +0000 | [diff] [blame] | 7 | ; CHECK-NEXT: mvn x8, x1 |
| 8 | ; CHECK-NEXT: ldr w0, [x0, x8, lsl #2] |
Sanjay Patel | 8aeffd8 | 2018-11-20 15:49:42 +0000 | [diff] [blame] | 9 | ; CHECK-NEXT: ret |
| 10 | %sh = shl i64 %x, 2 |
| 11 | %mul = xor i64 %sh, -4 |
| 12 | %add.ptr = getelementptr inbounds i8, i8* %p, i64 %mul |
| 13 | %bc = bitcast i8* %add.ptr to i32* |
| 14 | %load = load i32, i32* %bc, align 4 |
| 15 | ret i32 %load |
| 16 | } |
| 17 | |