brintos

brintos / llvm-project-archived public Read only

0
0
Text · 18.7 KiB · bf625cf Raw
705 lines · plain
1# NOTE: Assertions have been autogenerated by utils/update_mir_test_checks.py2# RUN: llc -mtriple=i386-linux-gnu   -run-pass=legalizer %s -o - | FileCheck %s --check-prefix=X323# RUN: llc -mtriple=x86_64-linux-gnu -run-pass=legalizer %s -o - | FileCheck %s --check-prefix=X644--- |5 6  define i8 @test_zext_i1toi8(i1 %a) {7    %r = zext i1 %a to i88    ret i8 %r9  }10 11  define i16 @test_zext_i1toi16(i1 %a) {12    %r = zext i1 %a to i1613    ret i16 %r14  }15 16  define i32 @test_zext_i1(i8 %a) {17    %val = trunc i8 %a to i118    %r = zext i1 %val to i3219    ret i32 %r20  }21 22  define i16 @test_zext_i8toi16(i8 %val) {23    %r = zext i8 %val to i1624    ret i16 %r25  }26 27  define i32 @test_zext_i8(i8 %val) {28    %r = zext i8 %val to i3229    ret i32 %r30  }31 32  define i32 @test_zext_i16(i16 %val) {33    %r = zext i16 %val to i3234    ret i32 %r35  }36 37  define i8 @test_sext_i1toi8(i1 %a) {38    %r = sext i1 %a to i839    ret i8 %r40  }41 42  define i16 @test_sext_i1toi16(i1 %a) {43    %r = sext i1 %a to i1644    ret i16 %r45  }46 47  define i32 @test_sext_i1(i8 %a) {48    %val = trunc i8 %a to i149    %r = sext i1 %val to i3250    ret i32 %r51  }52 53  define i16 @test_sext_i8toi16(i8 %val) {54    %r = sext i8 %val to i1655    ret i16 %r56  }57 58  define i32 @test_sext_i8(i8 %val) {59    %r = sext i8 %val to i3260    ret i32 %r61  }62 63  define i32 @test_sext_i16(i16 %val) {64    %r = sext i16 %val to i3265    ret i32 %r66  }67 68  define void @test_anyext_i1toi8(i1 %a) {69    ret void70  }71 72  define void @test_anyext_i1toi16(i1 %a) {73    ret void74  }75 76  define void @test_anyext_i1(i8 %a) {77    ret void78  }79 80  define void @test_anyext_i8toi16(i8 %val) {81    ret void82  }83 84  define void @test_anyext_i8(i8 %val) {85    ret void86  }87 88  define void @test_anyext_i16(i16 %val) {89    ret void90  }91 92...93---94name:            test_zext_i1toi895alignment:       1696legalized:       false97regBankSelected: false98registers:99  - { id: 0, class: _, preferred-register: '' }100  - { id: 1, class: _, preferred-register: '' }101  - { id: 2, class: _, preferred-register: '' }102body:             |103  bb.1 (%ir-block.0):104    liveins: $edi105 106    ; X32-LABEL: name: test_zext_i1toi8107    ; X32: liveins: $edi108    ; X32-NEXT: {{  $}}109    ; X32-NEXT: [[COPY:%[0-9]+]]:_(s32) = COPY $edi110    ; X32-NEXT: [[TRUNC:%[0-9]+]]:_(s8) = G_TRUNC [[COPY]](s32)111    ; X32-NEXT: [[C:%[0-9]+]]:_(s8) = G_CONSTANT i8 1112    ; X32-NEXT: [[AND:%[0-9]+]]:_(s8) = G_AND [[TRUNC]], [[C]]113    ; X32-NEXT: $al = COPY [[AND]](s8)114    ; X32-NEXT: RET 0, implicit $al115    ;116    ; X64-LABEL: name: test_zext_i1toi8117    ; X64: liveins: $edi118    ; X64-NEXT: {{  $}}119    ; X64-NEXT: [[COPY:%[0-9]+]]:_(s32) = COPY $edi120    ; X64-NEXT: [[TRUNC:%[0-9]+]]:_(s8) = G_TRUNC [[COPY]](s32)121    ; X64-NEXT: [[C:%[0-9]+]]:_(s8) = G_CONSTANT i8 1122    ; X64-NEXT: [[AND:%[0-9]+]]:_(s8) = G_AND [[TRUNC]], [[C]]123    ; X64-NEXT: $al = COPY [[AND]](s8)124    ; X64-NEXT: RET 0, implicit $al125    %1:_(s32) = COPY $edi126    %0:_(s1) = G_TRUNC %1(s32)127    %2:_(s8) = G_ZEXT %0(s1)128    $al = COPY %2(s8)129    RET 0, implicit $al130 131...132---133name:            test_zext_i1toi16134alignment:       16135legalized:       false136regBankSelected: false137registers:138  - { id: 0, class: _, preferred-register: '' }139  - { id: 1, class: _, preferred-register: '' }140body:             |141  bb.1 (%ir-block.0):142    liveins: $edi143 144    ; X32-LABEL: name: test_zext_i1toi16145    ; X32: liveins: $edi146    ; X32-NEXT: {{  $}}147    ; X32-NEXT: [[COPY:%[0-9]+]]:_(s32) = COPY $edi148    ; X32-NEXT: [[TRUNC:%[0-9]+]]:_(s16) = G_TRUNC [[COPY]](s32)149    ; X32-NEXT: [[C:%[0-9]+]]:_(s16) = G_CONSTANT i16 1150    ; X32-NEXT: [[AND:%[0-9]+]]:_(s16) = G_AND [[TRUNC]], [[C]]151    ; X32-NEXT: $ax = COPY [[AND]](s16)152    ; X32-NEXT: RET 0, implicit $ax153    ;154    ; X64-LABEL: name: test_zext_i1toi16155    ; X64: liveins: $edi156    ; X64-NEXT: {{  $}}157    ; X64-NEXT: [[COPY:%[0-9]+]]:_(s32) = COPY $edi158    ; X64-NEXT: [[TRUNC:%[0-9]+]]:_(s16) = G_TRUNC [[COPY]](s32)159    ; X64-NEXT: [[C:%[0-9]+]]:_(s16) = G_CONSTANT i16 1160    ; X64-NEXT: [[AND:%[0-9]+]]:_(s16) = G_AND [[TRUNC]], [[C]]161    ; X64-NEXT: $ax = COPY [[AND]](s16)162    ; X64-NEXT: RET 0, implicit $ax163    %1:_(s32) = COPY $edi164    %0:_(s1) = G_TRUNC %1(s32)165    %2:_(s16) = G_ZEXT %0(s1)166    $ax = COPY %2(s16)167    RET 0, implicit $ax168 169...170---171name:            test_zext_i1172alignment:       16173legalized:       false174regBankSelected: false175registers:176  - { id: 0, class: _ }177  - { id: 1, class: _ }178  - { id: 2, class: _ }179body:             |180  bb.1 (%ir-block.0):181    liveins: $edi182 183    ; X32-LABEL: name: test_zext_i1184    ; X32: liveins: $edi185    ; X32-NEXT: {{  $}}186    ; X32-NEXT: [[COPY:%[0-9]+]]:_(s8) = COPY $dil187    ; X32-NEXT: [[ANYEXT:%[0-9]+]]:_(s32) = G_ANYEXT [[COPY]](s8)188    ; X32-NEXT: [[C:%[0-9]+]]:_(s32) = G_CONSTANT i32 1189    ; X32-NEXT: [[AND:%[0-9]+]]:_(s32) = G_AND [[ANYEXT]], [[C]]190    ; X32-NEXT: $eax = COPY [[AND]](s32)191    ; X32-NEXT: RET 0, implicit $eax192    ;193    ; X64-LABEL: name: test_zext_i1194    ; X64: liveins: $edi195    ; X64-NEXT: {{  $}}196    ; X64-NEXT: [[COPY:%[0-9]+]]:_(s8) = COPY $dil197    ; X64-NEXT: [[ANYEXT:%[0-9]+]]:_(s32) = G_ANYEXT [[COPY]](s8)198    ; X64-NEXT: [[C:%[0-9]+]]:_(s32) = G_CONSTANT i32 1199    ; X64-NEXT: [[AND:%[0-9]+]]:_(s32) = G_AND [[ANYEXT]], [[C]]200    ; X64-NEXT: $eax = COPY [[AND]](s32)201    ; X64-NEXT: RET 0, implicit $eax202    %0(s8) = COPY $dil203    %1(s1) = G_TRUNC %0(s8)204    %2(s32) = G_ZEXT %1(s1)205    $eax = COPY %2(s32)206    RET 0, implicit $eax207 208...209---210name:            test_zext_i8toi16211alignment:       16212legalized:       false213regBankSelected: false214registers:215  - { id: 0, class: _, preferred-register: '' }216  - { id: 1, class: _, preferred-register: '' }217body:             |218  bb.1 (%ir-block.0):219    liveins: $edi220 221    ; X32-LABEL: name: test_zext_i8toi16222    ; X32: liveins: $edi223    ; X32-NEXT: {{  $}}224    ; X32-NEXT: [[COPY:%[0-9]+]]:_(s8) = COPY $dil225    ; X32-NEXT: [[ZEXT:%[0-9]+]]:_(s16) = G_ZEXT [[COPY]](s8)226    ; X32-NEXT: $ax = COPY [[ZEXT]](s16)227    ; X32-NEXT: RET 0, implicit $ax228    ;229    ; X64-LABEL: name: test_zext_i8toi16230    ; X64: liveins: $edi231    ; X64-NEXT: {{  $}}232    ; X64-NEXT: [[COPY:%[0-9]+]]:_(s8) = COPY $dil233    ; X64-NEXT: [[ZEXT:%[0-9]+]]:_(s16) = G_ZEXT [[COPY]](s8)234    ; X64-NEXT: $ax = COPY [[ZEXT]](s16)235    ; X64-NEXT: RET 0, implicit $ax236    %0(s8) = COPY $dil237    %1(s16) = G_ZEXT %0(s8)238    $ax = COPY %1(s16)239    RET 0, implicit $ax240 241...242---243name:            test_zext_i8244alignment:       16245legalized:       false246regBankSelected: false247registers:248  - { id: 0, class: _ }249  - { id: 1, class: _ }250body:             |251  bb.1 (%ir-block.0):252    liveins: $edi253 254    ; X32-LABEL: name: test_zext_i8255    ; X32: liveins: $edi256    ; X32-NEXT: {{  $}}257    ; X32-NEXT: [[COPY:%[0-9]+]]:_(s8) = COPY $dil258    ; X32-NEXT: [[ZEXT:%[0-9]+]]:_(s32) = G_ZEXT [[COPY]](s8)259    ; X32-NEXT: $eax = COPY [[ZEXT]](s32)260    ; X32-NEXT: RET 0, implicit $eax261    ;262    ; X64-LABEL: name: test_zext_i8263    ; X64: liveins: $edi264    ; X64-NEXT: {{  $}}265    ; X64-NEXT: [[COPY:%[0-9]+]]:_(s8) = COPY $dil266    ; X64-NEXT: [[ZEXT:%[0-9]+]]:_(s32) = G_ZEXT [[COPY]](s8)267    ; X64-NEXT: $eax = COPY [[ZEXT]](s32)268    ; X64-NEXT: RET 0, implicit $eax269    %0(s8) = COPY $dil270    %1(s32) = G_ZEXT %0(s8)271    $eax = COPY %1(s32)272    RET 0, implicit $eax273 274...275---276name:            test_zext_i16277alignment:       16278legalized:       false279regBankSelected: false280registers:281  - { id: 0, class: _ }282  - { id: 1, class: _ }283body:             |284  bb.1 (%ir-block.0):285    liveins: $edi286 287    ; X32-LABEL: name: test_zext_i16288    ; X32: liveins: $edi289    ; X32-NEXT: {{  $}}290    ; X32-NEXT: [[COPY:%[0-9]+]]:_(s16) = COPY $di291    ; X32-NEXT: [[ZEXT:%[0-9]+]]:_(s32) = G_ZEXT [[COPY]](s16)292    ; X32-NEXT: $eax = COPY [[ZEXT]](s32)293    ; X32-NEXT: RET 0, implicit $eax294    ;295    ; X64-LABEL: name: test_zext_i16296    ; X64: liveins: $edi297    ; X64-NEXT: {{  $}}298    ; X64-NEXT: [[COPY:%[0-9]+]]:_(s16) = COPY $di299    ; X64-NEXT: [[ZEXT:%[0-9]+]]:_(s32) = G_ZEXT [[COPY]](s16)300    ; X64-NEXT: $eax = COPY [[ZEXT]](s32)301    ; X64-NEXT: RET 0, implicit $eax302    %0(s16) = COPY $di303    %1(s32) = G_ZEXT %0(s16)304    $eax = COPY %1(s32)305    RET 0, implicit $eax306 307...308---309name:            test_sext_i1toi8310alignment:       16311legalized:       false312regBankSelected: false313registers:314  - { id: 0, class: _, preferred-register: '' }315  - { id: 1, class: _, preferred-register: '' }316body:             |317  bb.1 (%ir-block.0):318    liveins: $edi319 320    ; X32-LABEL: name: test_sext_i1toi8321    ; X32: liveins: $edi322    ; X32-NEXT: {{  $}}323    ; X32-NEXT: [[C:%[0-9]+]]:_(s8) = G_CONSTANT i8 0324    ; X32-NEXT: $al = COPY [[C]](s8)325    ; X32-NEXT: RET 0, implicit $al326    ;327    ; X64-LABEL: name: test_sext_i1toi8328    ; X64: liveins: $edi329    ; X64-NEXT: {{  $}}330    ; X64-NEXT: [[C:%[0-9]+]]:_(s8) = G_CONSTANT i8 0331    ; X64-NEXT: $al = COPY [[C]](s8)332    ; X64-NEXT: RET 0, implicit $al333    %0(s1) = G_IMPLICIT_DEF334    %1(s8) = G_SEXT %0(s1)335    $al = COPY %1(s8)336    RET 0, implicit $al337 338...339---340name:            test_sext_i1toi16341alignment:       16342legalized:       false343regBankSelected: false344registers:345  - { id: 0, class: _, preferred-register: '' }346  - { id: 1, class: _, preferred-register: '' }347body:             |348  bb.1 (%ir-block.0):349    liveins: $edi350 351    ; X32-LABEL: name: test_sext_i1toi16352    ; X32: liveins: $edi353    ; X32-NEXT: {{  $}}354    ; X32-NEXT: [[C:%[0-9]+]]:_(s16) = G_CONSTANT i16 0355    ; X32-NEXT: $ax = COPY [[C]](s16)356    ; X32-NEXT: RET 0, implicit $ax357    ;358    ; X64-LABEL: name: test_sext_i1toi16359    ; X64: liveins: $edi360    ; X64-NEXT: {{  $}}361    ; X64-NEXT: [[C:%[0-9]+]]:_(s16) = G_CONSTANT i16 0362    ; X64-NEXT: $ax = COPY [[C]](s16)363    ; X64-NEXT: RET 0, implicit $ax364    %0(s1) = G_IMPLICIT_DEF365    %1(s16) = G_SEXT %0(s1)366    $ax = COPY %1(s16)367    RET 0, implicit $ax368 369...370---371name:            test_sext_i1372alignment:       16373legalized:       false374regBankSelected: false375registers:376  - { id: 0, class: _ }377  - { id: 1, class: _ }378  - { id: 2, class: _ }379body:             |380  bb.1 (%ir-block.0):381    liveins: $edi382 383    ; X32-LABEL: name: test_sext_i1384    ; X32: liveins: $edi385    ; X32-NEXT: {{  $}}386    ; X32-NEXT: [[C:%[0-9]+]]:_(s32) = G_CONSTANT i32 0387    ; X32-NEXT: $eax = COPY [[C]](s32)388    ; X32-NEXT: RET 0, implicit $eax389    ;390    ; X64-LABEL: name: test_sext_i1391    ; X64: liveins: $edi392    ; X64-NEXT: {{  $}}393    ; X64-NEXT: [[C:%[0-9]+]]:_(s32) = G_CONSTANT i32 0394    ; X64-NEXT: $eax = COPY [[C]](s32)395    ; X64-NEXT: RET 0, implicit $eax396    %0(s1) = G_IMPLICIT_DEF397    %2(s32) = G_SEXT %0(s1)398    $eax = COPY %2(s32)399    RET 0, implicit $eax400 401...402---403name:            test_sext_i8toi16404alignment:       16405legalized:       false406regBankSelected: false407registers:408  - { id: 0, class: _, preferred-register: '' }409  - { id: 1, class: _, preferred-register: '' }410body:             |411  bb.1 (%ir-block.0):412    liveins: $edi413 414    ; X32-LABEL: name: test_sext_i8toi16415    ; X32: liveins: $edi416    ; X32-NEXT: {{  $}}417    ; X32-NEXT: [[COPY:%[0-9]+]]:_(s8) = COPY $dil418    ; X32-NEXT: [[SEXT:%[0-9]+]]:_(s16) = G_SEXT [[COPY]](s8)419    ; X32-NEXT: $ax = COPY [[SEXT]](s16)420    ; X32-NEXT: RET 0, implicit $ax421    ;422    ; X64-LABEL: name: test_sext_i8toi16423    ; X64: liveins: $edi424    ; X64-NEXT: {{  $}}425    ; X64-NEXT: [[COPY:%[0-9]+]]:_(s8) = COPY $dil426    ; X64-NEXT: [[SEXT:%[0-9]+]]:_(s16) = G_SEXT [[COPY]](s8)427    ; X64-NEXT: $ax = COPY [[SEXT]](s16)428    ; X64-NEXT: RET 0, implicit $ax429    %0(s8) = COPY $dil430    %1(s16) = G_SEXT %0(s8)431    $ax = COPY %1(s16)432    RET 0, implicit $ax433 434...435---436name:            test_sext_i8437alignment:       16438legalized:       false439regBankSelected: false440registers:441  - { id: 0, class: _ }442  - { id: 1, class: _ }443body:             |444  bb.1 (%ir-block.0):445    liveins: $edi446 447    ; X32-LABEL: name: test_sext_i8448    ; X32: liveins: $edi449    ; X32-NEXT: {{  $}}450    ; X32-NEXT: [[COPY:%[0-9]+]]:_(s8) = COPY $dil451    ; X32-NEXT: [[SEXT:%[0-9]+]]:_(s32) = G_SEXT [[COPY]](s8)452    ; X32-NEXT: $eax = COPY [[SEXT]](s32)453    ; X32-NEXT: RET 0, implicit $eax454    ;455    ; X64-LABEL: name: test_sext_i8456    ; X64: liveins: $edi457    ; X64-NEXT: {{  $}}458    ; X64-NEXT: [[COPY:%[0-9]+]]:_(s8) = COPY $dil459    ; X64-NEXT: [[SEXT:%[0-9]+]]:_(s32) = G_SEXT [[COPY]](s8)460    ; X64-NEXT: $eax = COPY [[SEXT]](s32)461    ; X64-NEXT: RET 0, implicit $eax462    %0(s8) = COPY $dil463    %1(s32) = G_SEXT %0(s8)464    $eax = COPY %1(s32)465    RET 0, implicit $eax466 467...468---469name:            test_sext_i16470alignment:       16471legalized:       false472regBankSelected: false473registers:474  - { id: 0, class: _ }475  - { id: 1, class: _ }476body:             |477  bb.1 (%ir-block.0):478    liveins: $edi479 480    ; X32-LABEL: name: test_sext_i16481    ; X32: liveins: $edi482    ; X32-NEXT: {{  $}}483    ; X32-NEXT: [[COPY:%[0-9]+]]:_(s16) = COPY $di484    ; X32-NEXT: [[SEXT:%[0-9]+]]:_(s32) = G_SEXT [[COPY]](s16)485    ; X32-NEXT: $eax = COPY [[SEXT]](s32)486    ; X32-NEXT: RET 0, implicit $eax487    ;488    ; X64-LABEL: name: test_sext_i16489    ; X64: liveins: $edi490    ; X64-NEXT: {{  $}}491    ; X64-NEXT: [[COPY:%[0-9]+]]:_(s16) = COPY $di492    ; X64-NEXT: [[SEXT:%[0-9]+]]:_(s32) = G_SEXT [[COPY]](s16)493    ; X64-NEXT: $eax = COPY [[SEXT]](s32)494    ; X64-NEXT: RET 0, implicit $eax495    %0(s16) = COPY $di496    %1(s32) = G_SEXT %0(s16)497    $eax = COPY %1(s32)498    RET 0, implicit $eax499 500...501---502name:            test_anyext_i1toi8503alignment:       16504legalized:       false505regBankSelected: false506registers:507  - { id: 0, class: _, preferred-register: '' }508  - { id: 1, class: _, preferred-register: '' }509  - { id: 2, class: _, preferred-register: '' }510body:             |511  bb.1 (%ir-block.0):512    liveins: $edi513 514    ; X32-LABEL: name: test_anyext_i1toi8515    ; X32: liveins: $edi516    ; X32-NEXT: {{  $}}517    ; X32-NEXT: [[COPY:%[0-9]+]]:_(s32) = COPY $edi518    ; X32-NEXT: [[TRUNC:%[0-9]+]]:_(s8) = G_TRUNC [[COPY]](s32)519    ; X32-NEXT: $al = COPY [[TRUNC]](s8)520    ; X32-NEXT: RET 0, implicit $al521    ;522    ; X64-LABEL: name: test_anyext_i1toi8523    ; X64: liveins: $edi524    ; X64-NEXT: {{  $}}525    ; X64-NEXT: [[COPY:%[0-9]+]]:_(s32) = COPY $edi526    ; X64-NEXT: [[TRUNC:%[0-9]+]]:_(s8) = G_TRUNC [[COPY]](s32)527    ; X64-NEXT: $al = COPY [[TRUNC]](s8)528    ; X64-NEXT: RET 0, implicit $al529    %0(s32) = COPY $edi530    %1(s1) = G_TRUNC %0(s32)531    %2(s8) = G_ANYEXT %1(s1)532    $al = COPY %2(s8)533    RET 0, implicit $al534 535...536---537name:            test_anyext_i1toi16538alignment:       16539legalized:       false540regBankSelected: false541registers:542  - { id: 0, class: _, preferred-register: '' }543  - { id: 1, class: _, preferred-register: '' }544  - { id: 2, class: _, preferred-register: '' }545body:             |546  bb.1 (%ir-block.0):547    liveins: $edi548 549    ; X32-LABEL: name: test_anyext_i1toi16550    ; X32: liveins: $edi551    ; X32-NEXT: {{  $}}552    ; X32-NEXT: [[COPY:%[0-9]+]]:_(s32) = COPY $edi553    ; X32-NEXT: [[TRUNC:%[0-9]+]]:_(s16) = G_TRUNC [[COPY]](s32)554    ; X32-NEXT: $ax = COPY [[TRUNC]](s16)555    ; X32-NEXT: RET 0, implicit $ax556    ;557    ; X64-LABEL: name: test_anyext_i1toi16558    ; X64: liveins: $edi559    ; X64-NEXT: {{  $}}560    ; X64-NEXT: [[COPY:%[0-9]+]]:_(s32) = COPY $edi561    ; X64-NEXT: [[TRUNC:%[0-9]+]]:_(s16) = G_TRUNC [[COPY]](s32)562    ; X64-NEXT: $ax = COPY [[TRUNC]](s16)563    ; X64-NEXT: RET 0, implicit $ax564    %0(s32) = COPY $edi565    %1(s1) = G_TRUNC %0(s32)566    %2(s16) = G_ANYEXT %1(s1)567    $ax = COPY %2(s16)568    RET 0, implicit $ax569 570...571---572name:            test_anyext_i1573alignment:       16574legalized:       false575regBankSelected: false576registers:577  - { id: 0, class: _ }578  - { id: 1, class: _ }579  - { id: 2, class: _ }580body:             |581  bb.1 (%ir-block.0):582    liveins: $edi583 584    ; X32-LABEL: name: test_anyext_i1585    ; X32: liveins: $edi586    ; X32-NEXT: {{  $}}587    ; X32-NEXT: [[COPY:%[0-9]+]]:_(s8) = COPY $dil588    ; X32-NEXT: [[ANYEXT:%[0-9]+]]:_(s32) = G_ANYEXT [[COPY]](s8)589    ; X32-NEXT: $eax = COPY [[ANYEXT]](s32)590    ; X32-NEXT: RET 0, implicit $eax591    ;592    ; X64-LABEL: name: test_anyext_i1593    ; X64: liveins: $edi594    ; X64-NEXT: {{  $}}595    ; X64-NEXT: [[COPY:%[0-9]+]]:_(s8) = COPY $dil596    ; X64-NEXT: [[ANYEXT:%[0-9]+]]:_(s32) = G_ANYEXT [[COPY]](s8)597    ; X64-NEXT: $eax = COPY [[ANYEXT]](s32)598    ; X64-NEXT: RET 0, implicit $eax599    %0(s8) = COPY $dil600    %1(s1) = G_TRUNC %0(s8)601    %2(s32) = G_ANYEXT %1(s1)602    $eax = COPY %2(s32)603    RET 0, implicit $eax604 605...606---607name:            test_anyext_i8toi16608alignment:       16609legalized:       false610regBankSelected: false611registers:612  - { id: 0, class: _, preferred-register: '' }613  - { id: 1, class: _, preferred-register: '' }614body:             |615  bb.1 (%ir-block.0):616    liveins: $edi617 618    ; X32-LABEL: name: test_anyext_i8toi16619    ; X32: liveins: $edi620    ; X32-NEXT: {{  $}}621    ; X32-NEXT: [[COPY:%[0-9]+]]:_(s8) = COPY $dil622    ; X32-NEXT: [[ANYEXT:%[0-9]+]]:_(s16) = G_ANYEXT [[COPY]](s8)623    ; X32-NEXT: $ax = COPY [[ANYEXT]](s16)624    ; X32-NEXT: RET 0, implicit $ax625    ;626    ; X64-LABEL: name: test_anyext_i8toi16627    ; X64: liveins: $edi628    ; X64-NEXT: {{  $}}629    ; X64-NEXT: [[COPY:%[0-9]+]]:_(s8) = COPY $dil630    ; X64-NEXT: [[ANYEXT:%[0-9]+]]:_(s16) = G_ANYEXT [[COPY]](s8)631    ; X64-NEXT: $ax = COPY [[ANYEXT]](s16)632    ; X64-NEXT: RET 0, implicit $ax633    %0(s8) = COPY $dil634    %1(s16) = G_ANYEXT %0(s8)635    $ax = COPY %1(s16)636    RET 0, implicit $ax637 638...639---640name:            test_anyext_i8641alignment:       16642legalized:       false643regBankSelected: false644registers:645  - { id: 0, class: _ }646  - { id: 1, class: _ }647body:             |648  bb.1 (%ir-block.0):649    liveins: $edi650 651    ; X32-LABEL: name: test_anyext_i8652    ; X32: liveins: $edi653    ; X32-NEXT: {{  $}}654    ; X32-NEXT: [[COPY:%[0-9]+]]:_(s8) = COPY $dil655    ; X32-NEXT: [[ANYEXT:%[0-9]+]]:_(s32) = G_ANYEXT [[COPY]](s8)656    ; X32-NEXT: $eax = COPY [[ANYEXT]](s32)657    ; X32-NEXT: RET 0, implicit $eax658    ;659    ; X64-LABEL: name: test_anyext_i8660    ; X64: liveins: $edi661    ; X64-NEXT: {{  $}}662    ; X64-NEXT: [[COPY:%[0-9]+]]:_(s8) = COPY $dil663    ; X64-NEXT: [[ANYEXT:%[0-9]+]]:_(s32) = G_ANYEXT [[COPY]](s8)664    ; X64-NEXT: $eax = COPY [[ANYEXT]](s32)665    ; X64-NEXT: RET 0, implicit $eax666    %0(s8) = COPY $dil667    %1(s32) = G_ANYEXT %0(s8)668    $eax = COPY %1(s32)669    RET 0, implicit $eax670 671...672---673name:            test_anyext_i16674alignment:       16675legalized:       false676regBankSelected: false677registers:678  - { id: 0, class: _ }679  - { id: 1, class: _ }680body:             |681  bb.1 (%ir-block.0):682    liveins: $edi683 684    ; X32-LABEL: name: test_anyext_i16685    ; X32: liveins: $edi686    ; X32-NEXT: {{  $}}687    ; X32-NEXT: [[COPY:%[0-9]+]]:_(s16) = COPY $di688    ; X32-NEXT: [[ANYEXT:%[0-9]+]]:_(s32) = G_ANYEXT [[COPY]](s16)689    ; X32-NEXT: $eax = COPY [[ANYEXT]](s32)690    ; X32-NEXT: RET 0, implicit $eax691    ;692    ; X64-LABEL: name: test_anyext_i16693    ; X64: liveins: $edi694    ; X64-NEXT: {{  $}}695    ; X64-NEXT: [[COPY:%[0-9]+]]:_(s16) = COPY $di696    ; X64-NEXT: [[ANYEXT:%[0-9]+]]:_(s32) = G_ANYEXT [[COPY]](s16)697    ; X64-NEXT: $eax = COPY [[ANYEXT]](s32)698    ; X64-NEXT: RET 0, implicit $eax699    %0(s16) = COPY $di700    %1(s32) = G_ANYEXT %0(s16)701    $eax = COPY %1(s32)702    RET 0, implicit $eax703 704...705