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