brintos

brintos / llvm-project-archived public Read only

0
0
Text · 12.0 KiB · f8ce9ea Raw
190 lines · plain
1# NOTE: Assertions have been autogenerated by utils/update_mir_test_checks.py UTC_ARGS: --version 52# RUN: llc -mtriple=i686-linux-gnu -run-pass=regbankselect,instruction-select %s -o - | FileCheck %s --check-prefixes GISEL-I6863 4---5name:            test_sincos_f326alignment:       167legalized:       true8fixedStack:9  - { id: 0, type: default, offset: 0, size: 4, alignment: 16, stack-id: default,10      isImmutable: true, isAliased: false, callee-saved-register: '', callee-saved-restored: true,11      debug-info-variable: '', debug-info-expression: '', debug-info-location: '' }12stack:13  - { id: 0, name: '', type: default, offset: 0, size: 4, alignment: 4,14      stack-id: default, callee-saved-register: '', callee-saved-restored: true,15      debug-info-variable: '', debug-info-expression: '', debug-info-location: '' }16  - { id: 1, name: '', type: default, offset: 0, size: 4, alignment: 4,17      stack-id: default, callee-saved-register: '', callee-saved-restored: true,18      debug-info-variable: '', debug-info-expression: '', debug-info-location: '' }19body:             |20  bb.1:21    ; GISEL-I686-LABEL: name: test_sincos_f3222    ; GISEL-I686: [[MOV32rm:%[0-9]+]]:gr32 = MOV32rm %fixed-stack.0, 1, $noreg, 0, $noreg :: (invariant load (s32) from %fixed-stack.0, align 16)23    ; GISEL-I686-NEXT: [[LEA32r:%[0-9]+]]:gr32 = LEA32r %stack.0, 1, $noreg, 0, $noreg24    ; GISEL-I686-NEXT: [[LEA32r1:%[0-9]+]]:gr32 = LEA32r %stack.1, 1, $noreg, 0, $noreg25    ; GISEL-I686-NEXT: ADJCALLSTACKDOWN32 12, 0, 0, implicit-def $esp, implicit-def $eflags, implicit-def $ssp, implicit $esp, implicit $ssp26    ; GISEL-I686-NEXT: [[COPY:%[0-9]+]]:gr32 = COPY $esp27    ; GISEL-I686-NEXT: MOV32mr [[COPY]], 1, $noreg, 0, $noreg, [[MOV32rm]] :: (store (s32) into stack, align 1)28    ; GISEL-I686-NEXT: [[COPY1:%[0-9]+]]:gr32 = COPY $esp29    ; GISEL-I686-NEXT: MOV32mr [[COPY1]], 1, $noreg, 4, $noreg, [[LEA32r]] :: (store (s32) into stack + 4, align 1)30    ; GISEL-I686-NEXT: [[COPY2:%[0-9]+]]:gr32 = COPY $esp31    ; GISEL-I686-NEXT: MOV32mr [[COPY2]], 1, $noreg, 8, $noreg, [[LEA32r1]] :: (store (s32) into stack + 8, align 1)32    ; GISEL-I686-NEXT: CALLpcrel32 &sincosf, csr_32, implicit $esp, implicit $ssp33    ; GISEL-I686-NEXT: ADJCALLSTACKUP32 12, 0, implicit-def $esp, implicit-def $eflags, implicit-def $ssp, implicit $esp, implicit $ssp34    ; GISEL-I686-NEXT: [[LD_Fp32m:%[0-9]+]]:rfp32 = nofpexcept LD_Fp32m %stack.0, 1, $noreg, 0, $noreg, implicit-def dead $fpsw, implicit $fpcw :: (load (s32) from %stack.0)35    ; GISEL-I686-NEXT: [[LD_Fp32m1:%[0-9]+]]:rfp32 = nofpexcept LD_Fp32m %stack.1, 1, $noreg, 0, $noreg, implicit-def dead $fpsw, implicit $fpcw :: (load (s32) from %stack.1)36    ; GISEL-I686-NEXT: $fp0 = COPY [[LD_Fp32m]]37    ; GISEL-I686-NEXT: $fp1 = COPY [[LD_Fp32m1]]38    ; GISEL-I686-NEXT: RET 0, implicit $fp0, implicit $fp139    %1:_(p0) = G_FRAME_INDEX %fixed-stack.040    %0:_(s32) = G_LOAD %1(p0) :: (invariant load (s32) from %fixed-stack.0, align 16)41    %4:_(p0) = G_FRAME_INDEX %stack.042    %5:_(p0) = G_FRAME_INDEX %stack.143    ADJCALLSTACKDOWN32 12, 0, 0, implicit-def $esp, implicit-def $eflags, implicit-def $ssp, implicit $esp, implicit $ssp44    %6:_(p0) = COPY $esp45    %7:_(s32) = G_CONSTANT i32 046    %8:_(p0) = G_PTR_ADD %6, %7(s32)47    G_STORE %0(s32), %8(p0) :: (store (s32) into stack, align 1)48    %9:_(p0) = COPY $esp49    %10:_(s32) = G_CONSTANT i32 450    %11:_(p0) = G_PTR_ADD %9, %10(s32)51    G_STORE %4(p0), %11(p0) :: (store (s32) into stack + 4, align 1)52    %12:_(p0) = COPY $esp53    %13:_(s32) = G_CONSTANT i32 854    %14:_(p0) = G_PTR_ADD %12, %13(s32)55    G_STORE %5(p0), %14(p0) :: (store (s32) into stack + 8, align 1)56    CALLpcrel32 &sincosf, csr_32, implicit $esp, implicit $ssp57    ADJCALLSTACKUP32 12, 0, implicit-def $esp, implicit-def $eflags, implicit-def $ssp, implicit $esp, implicit $ssp58    %2:_(s32) = G_LOAD %4(p0) :: (load (s32) from %stack.0)59    %3:_(s32) = G_LOAD %5(p0) :: (load (s32) from %stack.1)60    $fp0 = COPY %2(s32)61    $fp1 = COPY %3(s32)62    RET 0, implicit $fp0, implicit $fp163...64---65name:            test_sincos_f6466alignment:       1667legalized:       true68fixedStack:69  - { id: 0, type: default, offset: 0, size: 8, alignment: 16, stack-id: default,70      isImmutable: true, isAliased: false, callee-saved-register: '', callee-saved-restored: true,71      debug-info-variable: '', debug-info-expression: '', debug-info-location: '' }72stack:73  - { id: 0, name: '', type: default, offset: 0, size: 8, alignment: 8,74      stack-id: default, callee-saved-register: '', callee-saved-restored: true,75      debug-info-variable: '', debug-info-expression: '', debug-info-location: '' }76  - { id: 1, name: '', type: default, offset: 0, size: 8, alignment: 8,77      stack-id: default, callee-saved-register: '', callee-saved-restored: true,78      debug-info-variable: '', debug-info-expression: '', debug-info-location: '' }79body:             |80  bb.1:81    ; GISEL-I686-LABEL: name: test_sincos_f6482    ; GISEL-I686: [[LEA32r:%[0-9]+]]:gr32 = LEA32r %fixed-stack.0, 1, $noreg, 0, $noreg83    ; GISEL-I686-NEXT: [[MOV32rm:%[0-9]+]]:gr32 = MOV32rm %fixed-stack.0, 1, $noreg, 0, $noreg :: (invariant load (s32) from %fixed-stack.0, align 16)84    ; GISEL-I686-NEXT: [[MOV32rm1:%[0-9]+]]:gr32 = MOV32rm [[LEA32r]], 1, $noreg, 4, $noreg :: (invariant load (s32) from %fixed-stack.0 + 4, basealign 16)85    ; GISEL-I686-NEXT: [[LEA32r1:%[0-9]+]]:gr32 = LEA32r %stack.0, 1, $noreg, 0, $noreg86    ; GISEL-I686-NEXT: [[LEA32r2:%[0-9]+]]:gr32 = LEA32r %stack.1, 1, $noreg, 0, $noreg87    ; GISEL-I686-NEXT: ADJCALLSTACKDOWN32 16, 0, 0, implicit-def $esp, implicit-def $eflags, implicit-def $ssp, implicit $esp, implicit $ssp88    ; GISEL-I686-NEXT: [[COPY:%[0-9]+]]:gr32 = COPY $esp89    ; GISEL-I686-NEXT: [[MOV32r0_:%[0-9]+]]:gr32_nosp = MOV32r0 implicit-def dead $eflags90    ; GISEL-I686-NEXT: [[LEA32r3:%[0-9]+]]:gr32 = LEA32r [[COPY]], 1, [[MOV32r0_]], 0, $noreg91    ; GISEL-I686-NEXT: MOV32mr [[COPY]], 1, $noreg, 0, $noreg, [[MOV32rm]] :: (store (s32) into stack, align 1)92    ; GISEL-I686-NEXT: MOV32mr [[LEA32r3]], 1, $noreg, 4, $noreg, [[MOV32rm1]] :: (store (s32) into stack + 4, align 1)93    ; GISEL-I686-NEXT: [[COPY1:%[0-9]+]]:gr32 = COPY $esp94    ; GISEL-I686-NEXT: MOV32mr [[COPY1]], 1, $noreg, 8, $noreg, [[LEA32r1]] :: (store (s32) into stack + 8, align 1)95    ; GISEL-I686-NEXT: [[COPY2:%[0-9]+]]:gr32 = COPY $esp96    ; GISEL-I686-NEXT: MOV32mr [[COPY2]], 1, $noreg, 12, $noreg, [[LEA32r2]] :: (store (s32) into stack + 12, align 1)97    ; GISEL-I686-NEXT: CALLpcrel32 &sincos, csr_32, implicit $esp, implicit $ssp98    ; GISEL-I686-NEXT: ADJCALLSTACKUP32 16, 0, implicit-def $esp, implicit-def $eflags, implicit-def $ssp, implicit $esp, implicit $ssp99    ; GISEL-I686-NEXT: $fp0 = IMPLICIT_DEF100    ; GISEL-I686-NEXT: $fp1 = IMPLICIT_DEF101    ; GISEL-I686-NEXT: RET 0, implicit $fp0, implicit $fp1102    %1:_(p0) = G_FRAME_INDEX %fixed-stack.0103    %25:_(s32) = G_LOAD %1(p0) :: (invariant load (s32) from %fixed-stack.0, align 16)104    %17:_(s32) = G_CONSTANT i32 4105    %26:_(p0) = G_PTR_ADD %1, %17(s32)106    %27:_(s32) = G_LOAD %26(p0) :: (invariant load (s32) from %fixed-stack.0 + 4, basealign 16)107    %4:_(p0) = G_FRAME_INDEX %stack.0108    %5:_(p0) = G_FRAME_INDEX %stack.1109    ADJCALLSTACKDOWN32 16, 0, 0, implicit-def $esp, implicit-def $eflags, implicit-def $ssp, implicit $esp, implicit $ssp110    %6:_(p0) = COPY $esp111    %7:_(s32) = G_CONSTANT i32 0112    %8:_(p0) = G_PTR_ADD %6, %7(s32)113    G_STORE %25(s32), %8(p0) :: (store (s32) into stack, align 1)114    %24:_(p0) = G_PTR_ADD %8, %17(s32)115    G_STORE %27(s32), %24(p0) :: (store (s32) into stack + 4, align 1)116    %9:_(p0) = COPY $esp117    %10:_(s32) = G_CONSTANT i32 8118    %11:_(p0) = G_PTR_ADD %9, %10(s32)119    G_STORE %4(p0), %11(p0) :: (store (s32) into stack + 8, align 1)120    %12:_(p0) = COPY $esp121    %13:_(s32) = G_CONSTANT i32 12122    %14:_(p0) = G_PTR_ADD %12, %13(s32)123    G_STORE %5(p0), %14(p0) :: (store (s32) into stack + 12, align 1)124    CALLpcrel32 &sincos, csr_32, implicit $esp, implicit $ssp125    ADJCALLSTACKUP32 16, 0, implicit-def $esp, implicit-def $eflags, implicit-def $ssp, implicit $esp, implicit $ssp126    $fp0 = IMPLICIT_DEF127    $fp1 = IMPLICIT_DEF128    RET 0, implicit $fp0, implicit $fp1129...130---131name:            test_sincos_f80132alignment:       16133legalized:       true134fixedStack:135  - { id: 0, type: default, offset: 0, size: 10, alignment: 16, stack-id: default,136      isImmutable: true, isAliased: false, callee-saved-register: '', callee-saved-restored: true,137      debug-info-variable: '', debug-info-expression: '', debug-info-location: '' }138stack:139  - { id: 0, name: '', type: default, offset: 0, size: 10, alignment: 16,140      stack-id: default, callee-saved-register: '', callee-saved-restored: true,141      debug-info-variable: '', debug-info-expression: '', debug-info-location: '' }142  - { id: 1, name: '', type: default, offset: 0, size: 10, alignment: 16,143      stack-id: default, callee-saved-register: '', callee-saved-restored: true,144      debug-info-variable: '', debug-info-expression: '', debug-info-location: '' }145body:             |146  bb.1:147    ; GISEL-I686-LABEL: name: test_sincos_f80148    ; GISEL-I686: [[LD_Fp80m:%[0-9]+]]:rfp80 = nofpexcept LD_Fp80m %fixed-stack.0, 1, $noreg, 0, $noreg, implicit-def dead $fpsw, implicit $fpcw :: (invariant load (s80) from %fixed-stack.0, align 16)149    ; GISEL-I686-NEXT: [[LEA32r:%[0-9]+]]:gr32 = LEA32r %stack.0, 1, $noreg, 0, $noreg150    ; GISEL-I686-NEXT: [[LEA32r1:%[0-9]+]]:gr32 = LEA32r %stack.1, 1, $noreg, 0, $noreg151    ; GISEL-I686-NEXT: ADJCALLSTACKDOWN32 20, 0, 0, implicit-def $esp, implicit-def $eflags, implicit-def $ssp, implicit $esp, implicit $ssp152    ; GISEL-I686-NEXT: [[COPY:%[0-9]+]]:gr32 = COPY $esp153    ; GISEL-I686-NEXT: nofpexcept ST_FpP80m [[COPY]], 1, $noreg, 0, $noreg, [[LD_Fp80m]], implicit-def dead $fpsw, implicit $fpcw :: (store (s80) into stack, align 1)154    ; GISEL-I686-NEXT: [[COPY1:%[0-9]+]]:gr32 = COPY $esp155    ; GISEL-I686-NEXT: MOV32mr [[COPY1]], 1, $noreg, 12, $noreg, [[LEA32r]] :: (store (s32) into stack + 12, align 1)156    ; GISEL-I686-NEXT: [[COPY2:%[0-9]+]]:gr32 = COPY $esp157    ; GISEL-I686-NEXT: MOV32mr [[COPY2]], 1, $noreg, 16, $noreg, [[LEA32r1]] :: (store (s32) into stack + 16, align 1)158    ; GISEL-I686-NEXT: CALLpcrel32 &sincosl, csr_32, implicit $esp, implicit $ssp159    ; GISEL-I686-NEXT: ADJCALLSTACKUP32 20, 0, implicit-def $esp, implicit-def $eflags, implicit-def $ssp, implicit $esp, implicit $ssp160    ; GISEL-I686-NEXT: [[LD_Fp80m1:%[0-9]+]]:rfp80 = nofpexcept LD_Fp80m %stack.0, 1, $noreg, 0, $noreg, implicit-def dead $fpsw, implicit $fpcw :: (load (s80) from %stack.0, align 16)161    ; GISEL-I686-NEXT: [[LD_Fp80m2:%[0-9]+]]:rfp80 = nofpexcept LD_Fp80m %stack.1, 1, $noreg, 0, $noreg, implicit-def dead $fpsw, implicit $fpcw :: (load (s80) from %stack.1, align 16)162    ; GISEL-I686-NEXT: $fp0 = COPY [[LD_Fp80m1]]163    ; GISEL-I686-NEXT: $fp1 = COPY [[LD_Fp80m2]]164    ; GISEL-I686-NEXT: RET 0, implicit $fp0, implicit $fp1165    %1:_(p0) = G_FRAME_INDEX %fixed-stack.0166    %0:_(s80) = G_LOAD %1(p0) :: (invariant load (s80) from %fixed-stack.0, align 16)167    %4:_(p0) = G_FRAME_INDEX %stack.0168    %5:_(p0) = G_FRAME_INDEX %stack.1169    ADJCALLSTACKDOWN32 20, 0, 0, implicit-def $esp, implicit-def $eflags, implicit-def $ssp, implicit $esp, implicit $ssp170    %6:_(p0) = COPY $esp171    %7:_(s32) = G_CONSTANT i32 0172    %8:_(p0) = G_PTR_ADD %6, %7(s32)173    G_STORE %0(s80), %8(p0) :: (store (s80) into stack, align 1)174    %9:_(p0) = COPY $esp175    %10:_(s32) = G_CONSTANT i32 12176    %11:_(p0) = G_PTR_ADD %9, %10(s32)177    G_STORE %4(p0), %11(p0) :: (store (s32) into stack + 12, align 1)178    %12:_(p0) = COPY $esp179    %13:_(s32) = G_CONSTANT i32 16180    %14:_(p0) = G_PTR_ADD %12, %13(s32)181    G_STORE %5(p0), %14(p0) :: (store (s32) into stack + 16, align 1)182    CALLpcrel32 &sincosl, csr_32, implicit $esp, implicit $ssp183    ADJCALLSTACKUP32 20, 0, implicit-def $esp, implicit-def $eflags, implicit-def $ssp, implicit $esp, implicit $ssp184    %2:_(s80) = G_LOAD %4(p0) :: (load (s80) from %stack.0, align 16)185    %3:_(s80) = G_LOAD %5(p0) :: (load (s80) from %stack.1, align 16)186    $fp0 = COPY %2(s80)187    $fp1 = COPY %3(s80)188    RET 0, implicit $fp0, implicit $fp1189...190