| Simon Pilgrim | fc4d4b2 | 2016-07-19 13:35:11 +0000 | [diff] [blame] | 1 | ; RUN: llc < %s -mtriple=arm64-eabi -aarch64-neon-syntax=apple | FileCheck %s | 
| Dimitry Andric | 227b928 | 2016-01-03 17:22:03 +0000 | [diff] [blame] | 2 |  | 
|  | 3 | ;CHECK: @func30 | 
| Paul Osmialowski | 4f5b3be | 2016-05-13 18:00:09 +0000 | [diff] [blame] | 4 | ;CHECK: movi.4h v1, #1 | 
| Dimitry Andric | 227b928 | 2016-01-03 17:22:03 +0000 | [diff] [blame] | 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 | 
| John Brawn | 49e61d9 | 2018-10-25 14:56:48 +0000 | [diff] [blame] | 22 | ; CHECK: movi.2d v0, #0000000000000000 | 
| Dimitry Andric | 227b928 | 2016-01-03 17:22:03 +0000 | [diff] [blame] | 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 | } |