| ; RUN: llc < %s -mtriple=arm64-eabi | FileCheck %s | |
| define i32 @foo(<4 x i32> %a, i32 %n) nounwind { | |
| ; CHECK-LABEL: foo: | |
| ; CHECK: fmov w0, s0 | |
| ; CHECK-NEXT: ret | |
| %b = bitcast <4 x i32> %a to i128 | |
| %c = trunc i128 %b to i32 | |
| ret i32 %c | |
| } | |
| define i64 @bar(<2 x i64> %a, i64 %n) nounwind { | |
| ; CHECK-LABEL: bar: | |
| ; CHECK: fmov x0, d0 | |
| ; CHECK-NEXT: ret | |
| %b = bitcast <2 x i64> %a to i128 | |
| %c = trunc i128 %b to i64 | |
| ret i64 %c | |
| } | |