Jim Grosbach | a3c5c76 | 2013-03-02 20:16:24 +0000 | [diff] [blame] | 1 | ; RUN: llc < %s -mtriple=thumbv7-apple-ios | FileCheck %s |
| 2 | |
| 3 | define void @bar(<4 x i32>* %p, i32 %lane, <4 x i32> %phitmp) nounwind { |
Owen Anderson | db42012 | 2015-03-19 22:48:57 +0000 | [diff] [blame] | 4 | ; CHECK: lsls r[[ADDR:[0-9]+]], r[[ADDR]], #2 |
| 5 | ; CHECK: vst1.64 {d{{[0-9]+}}, d{{[0-9]+}}}, [r[[SOURCE:[0-9]+]]:128], r[[ADDR]] |
| 6 | ; CHECK: vld1.32 {[[DREG:d[0-9]+]][], [[DREG2:d[0-9]+]][]}, [r[[SOURCE]]:32] |
Jim Grosbach | a3c5c76 | 2013-03-02 20:16:24 +0000 | [diff] [blame] | 7 | ; CHECK: vst1.32 {[[DREG]], [[DREG2]]}, [r0] |
| 8 | %val = extractelement <4 x i32> %phitmp, i32 %lane |
| 9 | %r1 = insertelement <4 x i32> undef, i32 %val, i32 1 |
| 10 | %r2 = insertelement <4 x i32> %r1, i32 %val, i32 2 |
| 11 | %r3 = insertelement <4 x i32> %r2, i32 %val, i32 3 |
| 12 | store <4 x i32> %r3, <4 x i32>* %p, align 4 |
| 13 | ret void |
| 14 | } |