• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1; RUN: llc < %s -mtriple=aarch64-linux-eabi -o - | FileCheck %s
2
3%struct.a= type { i64, i64, i64, i64 }
4
5; DAG combine will try to perform a transformation that  creates a vcvtfp2fxs
6; with a v4f64 input. Since v4i64 is not legal we should bail out. We can
7; pottentially still create the vcvtfp2fxs node after legalization (but on a
8; v2f64).
9
10; CHECK-LABEL: fun1
11define void @fun1() local_unnamed_addr {
12entry:
13  %mul = fmul <4 x double> zeroinitializer, <double 6.553600e+04, double 6.553600e+04, double 6.553600e+04, double 6.553600e+04>
14  %toi = fptosi <4 x double> %mul to <4 x i64>
15  %ptr = getelementptr inbounds %struct.a, %struct.a* undef, i64 0, i32 2
16  %elem = extractelement <4 x i64> %toi, i32 1
17  store i64 %elem, i64* %ptr, align 8
18  call void @llvm.trap()
19  unreachable
20}
21
22; Function Attrs: noreturn nounwind
23declare void @llvm.trap()
24
25