89 lines · plain
1# NOTE: Assertions have been autogenerated by utils/update_mir_test_checks.py2# RUN: llc -mtriple=x86_64-unknown-unknown -run-pass=finalize-isel -verify-machineinstrs %s -o - | FileCheck %s --check-prefixes=CHECK3 4--- |5 6 7 define float @check_MI_flags(float %f) {8 %div = fdiv nsz float 1.000000e+00, %f9 ret float %div10 }11 12...13---14name: check_MI_flags15alignment: 1616exposesReturnsTwice: false17legalized: false18regBankSelected: false19selected: false20failedISel: false21tracksRegLiveness: true22hasWinCFI: false23callsEHReturn: false24callsUnwindInit: false25hasEHContTarget: false26hasEHScopes: false27hasEHFunclets: false28failsVerification: false29tracksDebugUserValues: false30registers:31 - { id: 0, class: fr32, preferred-register: '' }32 - { id: 1, class: fr32, preferred-register: '' }33 - { id: 2, class: fr32, preferred-register: '' }34liveins:35 - { reg: '$xmm0', virtual-reg: '%0' }36frameInfo:37 isFrameAddressTaken: false38 isReturnAddressTaken: false39 hasStackMap: false40 hasPatchPoint: false41 stackSize: 042 offsetAdjustment: 043 maxAlignment: 144 adjustsStack: false45 hasCalls: false46 stackProtector: ''47 functionContext: ''48 maxCallFrameSize: 429496729549 cvBytesOfCalleeSavedRegisters: 050 hasOpaqueSPAdjustment: false51 hasVAStart: false52 hasMustTailInVarArgFunc: false53 hasTailCall: false54 localFrameSize: 055 savePoint: []56 restorePoint: []57fixedStack: []58stack: []59callSites: []60debugValueSubstitutions: []61constants:62 - id: 063 value: 'float 1.000000e+00'64 alignment: 465 isTargetSpecific: false66machineFunctionInfo: {}67body: |68 bb.0 (%ir-block.0):69 liveins: $xmm070 71 ; CHECK-LABEL: name: check_MI_flags72 ; CHECK: liveins: $xmm073 ; CHECK-NEXT: {{ $}}74 ; CHECK-NEXT: [[COPY:%[0-9]+]]:fr32 = COPY $xmm075 ; 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 $mxcsr77 ; CHECK-NEXT: $xmm0 = COPY [[DIVSSrr]]78 ; CHECK-NEXT: RET 0, $xmm079 %0:fr32 = COPY $xmm080 %1:fr32 = MOVSSrm_alt $rip, 1, $noreg, %const.0, $noreg :: (load (s32) from constant-pool)81 %2:fr32 = nsz nofpexcept DIVSSrr %1, %0, implicit $mxcsr82 $xmm0 = COPY %283 RET 0, $xmm084 85...86 87 88 89