1 # NOTE: Assertions have been autogenerated by utils/update_mir_test_checks.py
2 # RUN: llc -mtriple=x86_64-unknown-unknown -run-pass=finalize-isel -verify-machineinstrs %s -o - | FileCheck %s --check-prefixes=CHECK
7 define float @check_MI_flags(float %f) {
8 %div = fdiv nsz float 1.000000e+00, %f
16 exposesReturnsTwice: false
18 regBankSelected: false
21 tracksRegLiveness: true
24 callsUnwindInit: false
28 failsVerification: false
29 tracksDebugUserValues: false
31 - { id: 0, class: fr32, preferred-register: '' }
32 - { id: 1, class: fr32, preferred-register: '' }
33 - { id: 2, class: fr32, preferred-register: '' }
35 - { reg: '$xmm0', virtual-reg: '%0' }
37 isFrameAddressTaken: false
38 isReturnAddressTaken: false
48 maxCallFrameSize: 4294967295
49 cvBytesOfCalleeSavedRegisters: 0
50 hasOpaqueSPAdjustment: false
52 hasMustTailInVarArgFunc: false
60 debugValueSubstitutions: []
63 value: 'float 1.000000e+00'
65 isTargetSpecific: false
66 machineFunctionInfo: {}
71 ; CHECK-LABEL: name: check_MI_flags
72 ; CHECK: liveins: $xmm0
74 ; CHECK-NEXT: [[COPY:%[0-9]+]]:fr32 = COPY $xmm0
75 ; CHECK-NEXT: [[MOVSSrm_alt:%[0-9]+]]:fr32 = MOVSSrm_alt $rip, 1, $noreg, %const.0, $noreg :: (load (s32) from constant-pool)
76 ; CHECK-NEXT: [[DIVSSrr:%[0-9]+]]:fr32 = nsz nofpexcept DIVSSrr [[MOVSSrm_alt]], [[COPY]], implicit $mxcsr
77 ; CHECK-NEXT: $xmm0 = COPY [[DIVSSrr]]
78 ; CHECK-NEXT: RET 0, $xmm0
80 %1:fr32 = MOVSSrm_alt $rip, 1, $noreg, %const.0, $noreg :: (load (s32) from constant-pool)
81 %2:fr32 = nsz nofpexcept DIVSSrr %1, %0, implicit $mxcsr