brintos

brintos / llvm-project-archived public Read only

0
0
Text · 5.6 KiB · c8db844 Raw
209 lines · plain
1# NOTE: Assertions have been autogenerated by utils/update_mir_test_checks.py2# RUN: llc -mtriple=aarch64-- -run-pass=instruction-select -global-isel-abort=1 -verify-machineinstrs %s -o - | FileCheck %s3 4--- |5  target datalayout = "e-m:o-i64:64-i128:128-n32:64-S128"6 7  define void @inttoptr_p0_s64() { ret void }8  define void @ptrtoint_s64_p0() { ret void }9  define void @ptrtoint_s32_p0() { ret void }10  define void @ptrtoint_s16_p0() { ret void }11  define void @ptrtoint_s8_p0() { ret void }12  define void @ptrtoint_s1_p0() { ret void }13  define void @inttoptr_v2p0_v2s64() { ret void }14  define void @ptrtoint_v2s64_v2p0() { ret void }15...16 17---18name:            inttoptr_p0_s6419legalized:       true20regBankSelected: true21 22registers:23  - { id: 0, class: gpr }24  - { id: 1, class: gpr }25body:             |26  bb.0:27    liveins: $x028    ; CHECK-LABEL: name: inttoptr_p0_s6429    ; CHECK: liveins: $x030    ; CHECK-NEXT: {{  $}}31    ; CHECK-NEXT: [[COPY:%[0-9]+]]:gpr64all = COPY $x032    ; CHECK-NEXT: $x0 = COPY [[COPY]]33    %0(s64) = COPY $x034    %1(p0) = G_INTTOPTR %035    $x0 = COPY %1(p0)36...37 38---39name:            ptrtoint_s64_p040legalized:       true41regBankSelected: true42 43registers:44  - { id: 0, class: gpr }45  - { id: 1, class: gpr }46body:             |47  bb.0:48    liveins: $x049    ; CHECK-LABEL: name: ptrtoint_s64_p050    ; CHECK: liveins: $x051    ; CHECK-NEXT: {{  $}}52    ; CHECK-NEXT: [[COPY:%[0-9]+]]:gpr64 = COPY $x053    ; CHECK-NEXT: $x0 = COPY [[COPY]]54    %0(p0) = COPY $x055    %1(s64) = G_PTRTOINT %056    $x0 = COPY %1(s64)57...58 59---60name:            ptrtoint_s32_p061legalized:       true62regBankSelected: true63 64registers:65  - { id: 0, class: gpr }66  - { id: 1, class: gpr }67body:             |68  bb.0:69    liveins: $x070    ; CHECK-LABEL: name: ptrtoint_s32_p071    ; CHECK: liveins: $x072    ; CHECK-NEXT: {{  $}}73    ; CHECK-NEXT: %ptr:gpr64 = COPY $x074    ; CHECK-NEXT: %ptr2int:gpr64common = COPY %ptr75    ; CHECK-NEXT: %int:gpr32sp = COPY %ptr2int.sub_3276    ; CHECK-NEXT: $w0 = COPY %int77    ; CHECK-NEXT: RET_ReallyLR implicit $w078    %ptr:gpr(p0) = COPY $x079    %ptr2int:gpr(s64) = G_PTRTOINT %ptr(p0)80    %int:gpr(s32) = G_TRUNC %ptr2int(s64)81    $w0 = COPY %int(s32)82    RET_ReallyLR implicit $w083...84 85---86name:            ptrtoint_s16_p087legalized:       true88regBankSelected: true89 90registers:91  - { id: 0, class: gpr }92  - { id: 1, class: gpr }93body:             |94  bb.0:95    liveins: $x096    ; CHECK-LABEL: name: ptrtoint_s16_p097    ; CHECK: liveins: $x098    ; CHECK-NEXT: {{  $}}99    ; CHECK-NEXT: %ptr:gpr64 = COPY $x0100    ; CHECK-NEXT: %int:gpr32 = COPY %ptr.sub_32101    ; CHECK-NEXT: [[COPY:%[0-9]+]]:fpr32 = COPY %int102    ; CHECK-NEXT: [[COPY1:%[0-9]+]]:fpr16 = COPY [[COPY]].hsub103    ; CHECK-NEXT: $h0 = COPY [[COPY1]]104    ; CHECK-NEXT: RET_ReallyLR implicit $h0105    %ptr:gpr(p0) = COPY $x0106    %ptr2int:gpr(s64) = G_PTRTOINT %ptr(p0)107    %int:gpr(s16) = G_TRUNC %ptr2int(s64)108    $h0 = COPY %int(s16)109    RET_ReallyLR implicit $h0110...111 112---113name:            ptrtoint_s8_p0114legalized:       true115regBankSelected: true116 117registers:118  - { id: 0, class: gpr }119  - { id: 1, class: gpr }120body:             |121  bb.0:122    liveins: $x0123    ; CHECK-LABEL: name: ptrtoint_s8_p0124    ; CHECK: liveins: $x0125    ; CHECK-NEXT: {{  $}}126    ; CHECK-NEXT: %ptr:gpr64 = COPY $x0127    ; CHECK-NEXT: %int:gpr32 = COPY %ptr.sub_32128    ; CHECK-NEXT: [[COPY:%[0-9]+]]:fpr32 = COPY %int129    ; CHECK-NEXT: [[COPY1:%[0-9]+]]:fpr8 = COPY [[COPY]].bsub130    ; CHECK-NEXT: $b0 = COPY [[COPY1]]131    ; CHECK-NEXT: RET_ReallyLR implicit $b0132    %ptr:gpr(p0) = COPY $x0133    %ptr2int:gpr(s64) = G_PTRTOINT %ptr(p0)134    %int:gpr(s8) = G_TRUNC %ptr2int(s64)135    $b0 = COPY %int(s8)136    RET_ReallyLR implicit $b0137 138...139---140name:            ptrtoint_s1_p0141legalized:       true142regBankSelected: true143 144registers:145  - { id: 0, class: gpr }146  - { id: 1, class: gpr }147body:             |148  bb.0:149    liveins: $x0150    ; CHECK-LABEL: name: ptrtoint_s1_p0151    ; CHECK: liveins: $x0152    ; CHECK-NEXT: {{  $}}153    ; CHECK-NEXT: %ptr:gpr64 = COPY $x0154    ; CHECK-NEXT: %ptr2int:gpr64common = COPY %ptr155    ; CHECK-NEXT: %trunc:gpr32common = COPY %ptr2int.sub_32156    ; CHECK-NEXT: %ext:gpr32sp = ANDWri %trunc, 0157    ; CHECK-NEXT: $w0 = COPY %ext158    ; CHECK-NEXT: RET_ReallyLR implicit $w0159    %ptr:gpr(p0) = COPY $x0160    %ptr2int:gpr(s64) = G_PTRTOINT %ptr(p0)161    %one:gpr(s32) = G_CONSTANT i32 1162    %trunc:gpr(s32) = G_TRUNC %ptr2int(s64)163    %ext:gpr(s32) = G_AND %trunc, %one164    $w0 = COPY %ext(s32)165    RET_ReallyLR implicit $w0166...167---168name:            inttoptr_v2p0_v2s64169legalized:       true170regBankSelected: true171tracksRegLiveness: true172body:             |173  bb.0:174    liveins: $q0, $x0175    ; CHECK-LABEL: name: inttoptr_v2p0_v2s64176    ; CHECK: liveins: $q0, $x0177    ; CHECK-NEXT: {{  $}}178    ; CHECK-NEXT: [[COPY:%[0-9]+]]:fpr128 = COPY $q0179    ; CHECK-NEXT: [[COPY1:%[0-9]+]]:fpr64 = COPY [[COPY]].dsub180    ; CHECK-NEXT: $x0 = COPY [[COPY1]]181    ; CHECK-NEXT: RET_ReallyLR implicit $x0182    %1:fpr(<2 x s64>) = COPY $q0183    %2:fpr(<2 x p0>) = G_INTTOPTR %1(<2 x s64>)184    %4:gpr(s64) = G_CONSTANT i64 0185    %3:fpr(p0) = G_EXTRACT_VECTOR_ELT %2(<2 x p0>), %4(s64)186    $x0 = COPY %3(p0)187    RET_ReallyLR implicit $x0188...189...190---191name:            ptrtoint_v2s64_v2p0192legalized:       true193regBankSelected: true194tracksRegLiveness: true195body:             |196  bb.0:197    liveins: $q0198    ; CHECK-LABEL: name: ptrtoint_v2s64_v2p0199    ; CHECK: liveins: $q0200    ; CHECK-NEXT: {{  $}}201    ; CHECK-NEXT: %ptr:fpr128 = COPY $q0202    ; CHECK-NEXT: $q0 = COPY %ptr203    ; CHECK-NEXT: RET_ReallyLR implicit $q0204    %ptr:fpr(<2 x p0>) = COPY $q0205    %int:fpr(<2 x s64>) = G_PTRTOINT %ptr(<2 x p0>)206    $q0 = COPY %int(<2 x s64>)207    RET_ReallyLR implicit $q0208...209