1*f0ae3c23STies Stuij; NOTE: Assertions have been autogenerated by utils/update_llc_test_checks.py UTC_ARGS: --version 2 2*f0ae3c23STies Stuij; RUN: llc < %s -mtriple=thumbv8.1m.main-none-eabihf -mattr=+mve,+execute-only | FileCheck %s 3*f0ae3c23STies Stuij; RUN: llc < %s -mtriple=thumbv6m -mattr=+execute-only | FileCheck %s --check-prefix=V6M 4*f0ae3c23STies Stuij 5*f0ae3c23STies Stuijdeclare void @ext_fn(float) 6*f0ae3c23STies Stuij 7*f0ae3c23STies Stuijdefine void @test1() { 8*f0ae3c23STies Stuij; CHECK-LABEL: test1: 9*f0ae3c23STies Stuij; CHECK: @ %bb.0: @ %entry 10*f0ae3c23STies Stuij; CHECK-NEXT: .save {r7, lr} 11*f0ae3c23STies Stuij; CHECK-NEXT: push {r7, lr} 12*f0ae3c23STies Stuij; CHECK-NEXT: movs r0, #0 13*f0ae3c23STies Stuij; CHECK-NEXT: vmov s0, r0 14*f0ae3c23STies Stuij; CHECK-NEXT: bl ext_fn 15*f0ae3c23STies Stuij; CHECK-NEXT: pop {r7, pc} 16*f0ae3c23STies Stuij; 17*f0ae3c23STies Stuij; V6M-LABEL: test1: 18*f0ae3c23STies Stuij; V6M: @ %bb.0: @ %entry 19*f0ae3c23STies Stuij; V6M-NEXT: push {r7, lr} 20*f0ae3c23STies Stuij; V6M-NEXT: movs r0, #0 21*f0ae3c23STies Stuij; V6M-NEXT: bl ext_fn 22*f0ae3c23STies Stuij; V6M-NEXT: pop {r7, pc} 23*f0ae3c23STies Stuijentry: 24*f0ae3c23STies Stuij call void @ext_fn(float 0.000000e+00) 25*f0ae3c23STies Stuij ret void 26*f0ae3c23STies Stuij} 27*f0ae3c23STies Stuij 28*f0ae3c23STies Stuijdefine float @test2() { 29*f0ae3c23STies Stuij; CHECK-LABEL: test2: 30*f0ae3c23STies Stuij; CHECK: @ %bb.0: @ %entry 31*f0ae3c23STies Stuij; CHECK-NEXT: movw r0, #63911 32*f0ae3c23STies Stuij; CHECK-NEXT: movt r0, #16673 33*f0ae3c23STies Stuij; CHECK-NEXT: vmov s0, r0 34*f0ae3c23STies Stuij; CHECK-NEXT: bx lr 35*f0ae3c23STies Stuij; 36*f0ae3c23STies Stuij; V6M-LABEL: test2: 37*f0ae3c23STies Stuij; V6M: @ %bb.0: @ %entry 38*f0ae3c23STies Stuij; V6M-NEXT: movs r0, #65 39*f0ae3c23STies Stuij; V6M-NEXT: lsls r0, r0, #8 40*f0ae3c23STies Stuij; V6M-NEXT: adds r0, #33 41*f0ae3c23STies Stuij; V6M-NEXT: lsls r0, r0, #8 42*f0ae3c23STies Stuij; V6M-NEXT: adds r0, #249 43*f0ae3c23STies Stuij; V6M-NEXT: lsls r0, r0, #8 44*f0ae3c23STies Stuij; V6M-NEXT: adds r0, #167 45*f0ae3c23STies Stuij; V6M-NEXT: bx lr 46*f0ae3c23STies Stuijentry: 47*f0ae3c23STies Stuij ret float 0x40243F34E0000000 48*f0ae3c23STies Stuij} 49*f0ae3c23STies Stuij 50