brintos

brintos / llvm-project-archived public Read only

0
0
Text · 2.2 KiB · e3b12a8 Raw
60 lines · plain
1# NOTE: Assertions have been autogenerated by utils/update_mir_test_checks.py2# RUN: llc %s -mtriple=x86_64-unknown-linux-gnu -mcpu=skx -run-pass=machine-cp -o - | FileCheck %s3 4# machine-cp previously asserted trying to determine if the k0->eax copy below5# could be combined with the k0->rax copy.6 7--- |8  ; ModuleID = 'test.ll'9  source_filename = "test.ll"10  target datalayout = "e-m:o-p270:32:32-p271:32:32-p272:64:64-i64:64-f80:128-n8:16:32:64-S128"11 12  define i8 @foo(<64 x i8> %x, ptr %y, i64 %z) #0 {13    %a = icmp eq <64 x i8> %x, zeroinitializer14    %b = bitcast <64 x i1> %a to i6415    %c = add i64 %b, %z16    store i64 %c, ptr %y, align 817    %d = extractelement <64 x i1> %a, i32 018    %e = zext i1 %d to i819    ret i8 %e20  }21 22  attributes #0 = { "target-cpu"="skx" }23 24...25---26name:            foo27alignment:       1628tracksRegLiveness: true29liveins:30  - { reg: '$zmm0' }31  - { reg: '$rdi' }32  - { reg: '$rsi' }33frameInfo:34  maxAlignment:    135machineFunctionInfo: {}36body:             |37  bb.0 (%ir-block.0):38    liveins: $rdi, $rsi, $zmm039 40    ; CHECK-LABEL: name: foo41    ; CHECK: liveins: $rdi, $rsi, $zmm042    ; CHECK: renamable $k0 = VPTESTNMBZrr killed renamable $zmm0, renamable $zmm043    ; CHECK: renamable $rax = COPY renamable $k044    ; CHECK: renamable $rsi = ADD64rr killed renamable $rsi, killed renamable $rax, implicit-def dead $eflags45    ; CHECK: MOV64mr killed renamable $rdi, 1, $noreg, 0, $noreg, killed renamable $rsi :: (store (s64) into %ir.y)46    ; CHECK: renamable $eax = COPY killed renamable $k047    ; CHECK: renamable $al = AND8ri renamable $al, 1, implicit-def dead $eflags, implicit killed $eax, implicit-def $eax48    ; CHECK: $al = KILL renamable $al, implicit killed $eax49    ; CHECK: RET 0, $al50    renamable $k0 = VPTESTNMBZrr killed renamable $zmm0, renamable $zmm051    renamable $rax = COPY renamable $k052    renamable $rsi = ADD64rr killed renamable $rsi, killed renamable $rax, implicit-def dead $eflags53    MOV64mr killed renamable $rdi, 1, $noreg, 0, $noreg, killed renamable $rsi :: (store (s64) into %ir.y)54    renamable $eax = COPY killed renamable $k055    renamable $al = AND8ri renamable $al, 1, implicit-def dead $eflags, implicit killed $eax, implicit-def $eax56    $al = KILL renamable $al, implicit killed $eax57    RET 0, $al58 59...60