Home | History | Annotate | Download | only in AArch64
      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
     11 define void @fun1() local_unnamed_addr {
     12 entry:
     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
     23 declare void @llvm.trap()
     24 
     25