brintos

brintos / llvm-project-archived public Read only

0
0
Text · 4.5 KiB · 27f2f0b Raw
100 lines · plain
1# NOTE: Assertions have been autogenerated by utils/update_mir_test_checks.py2# RUN: llc -mtriple=aarch64-unknown-unknown -verify-machineinstrs -run-pass=legalizer %s -o - 2>&1 | FileCheck %s3# RUN: llc -mtriple=aarch64-unknown-unknown -verify-machineinstrs -run-pass=legalizer -mattr=+cssc %s -o - | FileCheck %s --check-prefix=CHECK-CSSC4--- |5  define void @s32() noimplicitfloat { unreachable }6  define void @s64() noimplicitfloat { unreachable }7...8---9name:            s3210tracksRegLiveness: true11body:             |12  bb.0:13    liveins: $w014    ; CHECK-LABEL: name: s3215    ; CHECK: liveins: $w016    ; CHECK-NEXT: {{  $}}17    ; CHECK-NEXT: %copy:_(s32) = COPY $w018    ; CHECK-NEXT: [[C:%[0-9]+]]:_(s64) = G_CONSTANT i64 119    ; CHECK-NEXT: [[LSHR:%[0-9]+]]:_(s32) = G_LSHR %copy, [[C]](s64)20    ; CHECK-NEXT: [[C1:%[0-9]+]]:_(s32) = G_CONSTANT i32 143165576521    ; CHECK-NEXT: [[AND:%[0-9]+]]:_(s32) = G_AND [[LSHR]], [[C1]]22    ; CHECK-NEXT: [[SUB:%[0-9]+]]:_(s32) = G_SUB %copy, [[AND]]23    ; CHECK-NEXT: [[C2:%[0-9]+]]:_(s64) = G_CONSTANT i64 224    ; CHECK-NEXT: [[LSHR1:%[0-9]+]]:_(s32) = G_LSHR [[SUB]], [[C2]](s64)25    ; CHECK-NEXT: [[C3:%[0-9]+]]:_(s32) = G_CONSTANT i32 85899345926    ; CHECK-NEXT: [[AND1:%[0-9]+]]:_(s32) = G_AND [[LSHR1]], [[C3]]27    ; CHECK-NEXT: [[AND2:%[0-9]+]]:_(s32) = G_AND [[SUB]], [[C3]]28    ; CHECK-NEXT: [[ADD:%[0-9]+]]:_(s32) = G_ADD [[AND1]], [[AND2]]29    ; CHECK-NEXT: [[C4:%[0-9]+]]:_(s64) = G_CONSTANT i64 430    ; CHECK-NEXT: [[LSHR2:%[0-9]+]]:_(s32) = G_LSHR [[ADD]], [[C4]](s64)31    ; CHECK-NEXT: [[ADD1:%[0-9]+]]:_(s32) = G_ADD [[LSHR2]], [[ADD]]32    ; CHECK-NEXT: [[C5:%[0-9]+]]:_(s32) = G_CONSTANT i32 25264513533    ; CHECK-NEXT: [[AND3:%[0-9]+]]:_(s32) = G_AND [[ADD1]], [[C5]]34    ; CHECK-NEXT: [[C6:%[0-9]+]]:_(s32) = G_CONSTANT i32 1684300935    ; CHECK-NEXT: [[MUL:%[0-9]+]]:_(s32) = G_MUL [[AND3]], [[C6]]36    ; CHECK-NEXT: [[C7:%[0-9]+]]:_(s64) = G_CONSTANT i64 2437    ; CHECK-NEXT: %ctpop:_(s32) = G_LSHR [[MUL]], [[C7]](s64)38    ; CHECK-NEXT: $w0 = COPY %ctpop(s32)39    ; CHECK-NEXT: RET_ReallyLR implicit $w040    ;41    ; CHECK-CSSC-LABEL: name: s3242    ; CHECK-CSSC: liveins: $w043    ; CHECK-CSSC-NEXT: {{  $}}44    ; CHECK-CSSC-NEXT: %copy:_(s32) = COPY $w045    ; CHECK-CSSC-NEXT: %ctpop:_(s32) = G_CTPOP %copy(s32)46    ; CHECK-CSSC-NEXT: $w0 = COPY %ctpop(s32)47    ; CHECK-CSSC-NEXT: RET_ReallyLR implicit $w048    %copy:_(s32) = COPY $w049    %ctpop:_(s32) = G_CTPOP %copy(s32)50    $w0 = COPY %ctpop(s32)51    RET_ReallyLR implicit $w052 53...54---55name:            s6456tracksRegLiveness: true57body:             |58  bb.0:59    liveins: $x060    ; CHECK-LABEL: name: s6461    ; CHECK: liveins: $x062    ; CHECK-NEXT: {{  $}}63    ; CHECK-NEXT: %copy:_(s64) = COPY $x064    ; CHECK-NEXT: [[C:%[0-9]+]]:_(s64) = G_CONSTANT i64 165    ; CHECK-NEXT: [[LSHR:%[0-9]+]]:_(s64) = G_LSHR %copy, [[C]](s64)66    ; CHECK-NEXT: [[C1:%[0-9]+]]:_(s64) = G_CONSTANT i64 614891469123651720567    ; CHECK-NEXT: [[AND:%[0-9]+]]:_(s64) = G_AND [[LSHR]], [[C1]]68    ; CHECK-NEXT: [[SUB:%[0-9]+]]:_(s64) = G_SUB %copy, [[AND]]69    ; CHECK-NEXT: [[C2:%[0-9]+]]:_(s64) = G_CONSTANT i64 270    ; CHECK-NEXT: [[LSHR1:%[0-9]+]]:_(s64) = G_LSHR [[SUB]], [[C2]](s64)71    ; CHECK-NEXT: [[C3:%[0-9]+]]:_(s64) = G_CONSTANT i64 368934881474191032372    ; CHECK-NEXT: [[AND1:%[0-9]+]]:_(s64) = G_AND [[LSHR1]], [[C3]]73    ; CHECK-NEXT: [[AND2:%[0-9]+]]:_(s64) = G_AND [[SUB]], [[C3]]74    ; CHECK-NEXT: [[ADD:%[0-9]+]]:_(s64) = G_ADD [[AND1]], [[AND2]]75    ; CHECK-NEXT: [[C4:%[0-9]+]]:_(s64) = G_CONSTANT i64 476    ; CHECK-NEXT: [[LSHR2:%[0-9]+]]:_(s64) = G_LSHR [[ADD]], [[C4]](s64)77    ; CHECK-NEXT: [[ADD1:%[0-9]+]]:_(s64) = G_ADD [[LSHR2]], [[ADD]]78    ; CHECK-NEXT: [[C5:%[0-9]+]]:_(s64) = G_CONSTANT i64 108510259257115009579    ; CHECK-NEXT: [[AND3:%[0-9]+]]:_(s64) = G_AND [[ADD1]], [[C5]]80    ; CHECK-NEXT: [[C6:%[0-9]+]]:_(s64) = G_CONSTANT i64 7234017283807667381    ; CHECK-NEXT: [[C7:%[0-9]+]]:_(s64) = G_CONSTANT i64 5682    ; CHECK-NEXT: [[MUL:%[0-9]+]]:_(s64) = G_MUL [[AND3]], [[C6]]83    ; CHECK-NEXT: %ctpop:_(s64) = G_LSHR [[MUL]], [[C7]](s64)84    ; CHECK-NEXT: $x0 = COPY %ctpop(s64)85    ; CHECK-NEXT: RET_ReallyLR implicit $x086    ;87    ; CHECK-CSSC-LABEL: name: s6488    ; CHECK-CSSC: liveins: $x089    ; CHECK-CSSC-NEXT: {{  $}}90    ; CHECK-CSSC-NEXT: %copy:_(s64) = COPY $x091    ; CHECK-CSSC-NEXT: %ctpop:_(s64) = G_CTPOP %copy(s64)92    ; CHECK-CSSC-NEXT: $x0 = COPY %ctpop(s64)93    ; CHECK-CSSC-NEXT: RET_ReallyLR implicit $x094    %copy:_(s64) = COPY $x095    %ctpop:_(s64) = G_CTPOP %copy(s64)96    $x0 = COPY %ctpop(s64)97    RET_ReallyLR implicit $x098 99...100