James Molloy | ce45be0 | 2014-08-02 14:51:24 +0000 | [diff] [blame] | 1 | ; RUN: llc < %s | FileCheck %s |
| 2 | target datalayout = "e-m:o-i64:64-i128:128-n32:64-S128" |
James Molloy | 6b999ae | 2014-08-02 17:15:11 +0000 | [diff] [blame] | 3 | target triple = "aarch64-linux-gnu" |
James Molloy | ce45be0 | 2014-08-02 14:51:24 +0000 | [diff] [blame] | 4 | |
| 5 | ; Ensure we're generating ldp instructions instead of ldr Q. |
| 6 | ; CHECK: ldp |
| 7 | ; CHECK: stp |
| 8 | define void @f(i64* %p, i64* %q) { |
David Blaikie | 79e6c74 | 2015-02-27 19:29:02 +0000 | [diff] [blame] | 9 | %addr2 = getelementptr i64, i64* %q, i32 1 |
| 10 | %addr = getelementptr i64, i64* %p, i32 1 |
David Blaikie | a79ac14 | 2015-02-27 21:17:42 +0000 | [diff] [blame] | 11 | %x = load i64, i64* %p |
| 12 | %y = load i64, i64* %addr |
James Molloy | ce45be0 | 2014-08-02 14:51:24 +0000 | [diff] [blame] | 13 | store i64 %x, i64* %q |
| 14 | store i64 %y, i64* %addr2 |
| 15 | ret void |
| 16 | } |