94 lines · plain
1# NOTE: Assertions have been autogenerated by utils/update_mir_test_checks.py2# RUN: llc -mtriple=x86_64-linux-gnu -run-pass=legalizer %s -o - | FileCheck %s3--- |4 5 define float @test_fdiv_float(float %arg1, float %arg2) {6 %ret = fdiv float %arg1, %arg27 ret float %ret8 }9 10 define double @test_fdiv_double(double %arg1, double %arg2) {11 %ret = fdiv double %arg1, %arg212 ret double %ret13 }14 15...16---17name: test_fdiv_float18alignment: 1619legalized: false20regBankSelected: false21registers:22 - { id: 0, class: _, preferred-register: '' }23 - { id: 1, class: _, preferred-register: '' }24 - { id: 2, class: _, preferred-register: '' }25 - { id: 3, class: _, preferred-register: '' }26 - { id: 4, class: _, preferred-register: '' }27 - { id: 5, class: _, preferred-register: '' }28liveins:29fixedStack:30stack:31constants:32body: |33 bb.1 (%ir-block.0):34 liveins: $xmm0, $xmm135 36 ; CHECK-LABEL: name: test_fdiv_float37 ; CHECK: [[COPY:%[0-9]+]]:_(s128) = COPY $xmm038 ; CHECK: [[TRUNC:%[0-9]+]]:_(s32) = G_TRUNC [[COPY]](s128)39 ; CHECK: [[COPY1:%[0-9]+]]:_(s128) = COPY $xmm140 ; CHECK: [[TRUNC1:%[0-9]+]]:_(s32) = G_TRUNC [[COPY1]](s128)41 ; CHECK: [[FDIV:%[0-9]+]]:_(s32) = G_FDIV [[TRUNC]], [[TRUNC1]]42 ; CHECK: [[ANYEXT:%[0-9]+]]:_(s128) = G_ANYEXT [[FDIV]](s32)43 ; CHECK: $xmm0 = COPY [[ANYEXT]](s128)44 ; CHECK: RET 0, implicit $xmm045 %2:_(s128) = COPY $xmm046 %0:_(s32) = G_TRUNC %2(s128)47 %3:_(s128) = COPY $xmm148 %1:_(s32) = G_TRUNC %3(s128)49 %4:_(s32) = G_FDIV %0, %150 %5:_(s128) = G_ANYEXT %4(s32)51 $xmm0 = COPY %5(s128)52 RET 0, implicit $xmm053 54...55---56name: test_fdiv_double57alignment: 1658legalized: false59regBankSelected: false60registers:61 - { id: 0, class: _, preferred-register: '' }62 - { id: 1, class: _, preferred-register: '' }63 - { id: 2, class: _, preferred-register: '' }64 - { id: 3, class: _, preferred-register: '' }65 - { id: 4, class: _, preferred-register: '' }66 - { id: 5, class: _, preferred-register: '' }67liveins:68fixedStack:69stack:70constants:71body: |72 bb.1 (%ir-block.0):73 liveins: $xmm0, $xmm174 75 ; CHECK-LABEL: name: test_fdiv_double76 ; CHECK: [[COPY:%[0-9]+]]:_(s128) = COPY $xmm077 ; CHECK: [[TRUNC:%[0-9]+]]:_(s64) = G_TRUNC [[COPY]](s128)78 ; CHECK: [[COPY1:%[0-9]+]]:_(s128) = COPY $xmm179 ; CHECK: [[TRUNC1:%[0-9]+]]:_(s64) = G_TRUNC [[COPY1]](s128)80 ; CHECK: [[FDIV:%[0-9]+]]:_(s64) = G_FDIV [[TRUNC]], [[TRUNC1]]81 ; CHECK: [[ANYEXT:%[0-9]+]]:_(s128) = G_ANYEXT [[FDIV]](s64)82 ; CHECK: $xmm0 = COPY [[ANYEXT]](s128)83 ; CHECK: RET 0, implicit $xmm084 %2:_(s128) = COPY $xmm085 %0:_(s64) = G_TRUNC %2(s128)86 %3:_(s128) = COPY $xmm187 %1:_(s64) = G_TRUNC %3(s128)88 %4:_(s64) = G_FDIV %0, %189 %5:_(s128) = G_ANYEXT %4(s64)90 $xmm0 = COPY %5(s128)91 RET 0, implicit $xmm092 93...94