Simon Pilgrim | 0750c84 | 2015-08-15 13:27:30 +0000 | [diff] [blame] | 1 | ; RUN: llc < %s -march=arm64 -aarch64-neon-syntax=apple | FileCheck %s
|
| 2 |
|
| 3 | ;CHECK: @func30
|
| 4 | ;CHECK: movi.4h v1, #0x1
|
| 5 | ;CHECK: and.8b v0, v0, v1
|
| 6 | ;CHECK: ushll.4s v0, v0, #0
|
| 7 | ;CHECK: str q0, [x0]
|
| 8 | ;CHECK: ret
|
| 9 |
|
| 10 | %T0_30 = type <4 x i1>
|
| 11 | %T1_30 = type <4 x i32>
|
| 12 | define void @func30(%T0_30 %v0, %T1_30* %p1) {
|
| 13 | %r = zext %T0_30 %v0 to %T1_30
|
| 14 | store %T1_30 %r, %T1_30* %p1
|
| 15 | ret void
|
| 16 | }
|
| 17 |
|
| 18 | ; Extend from v1i1 was crashing things (PR20791). Make sure we do something
|
| 19 | ; sensible instead.
|
| 20 | define <1 x i32> @autogen_SD7918() {
|
| 21 | ; CHECK-LABEL: autogen_SD7918
|
| 22 | ; CHECK: movi d0, #0000000000000000
|
| 23 | ; CHECK-NEXT: ret
|
| 24 | %I29 = insertelement <1 x i1> zeroinitializer, i1 false, i32 0
|
| 25 | %ZE = zext <1 x i1> %I29 to <1 x i32>
|
| 26 | ret <1 x i32> %ZE
|
| 27 | }
|