1*9880d681SAndroid Build Coastguard Worker# RUN: llc -march=x86-64 -start-after machine-sink -stop-after machine-sink -o - %s | FileCheck %s 2*9880d681SAndroid Build Coastguard Worker# This test ensures that the MIR parser parses subregisters in register operands 3*9880d681SAndroid Build Coastguard Worker# correctly. 4*9880d681SAndroid Build Coastguard Worker 5*9880d681SAndroid Build Coastguard Worker--- | 6*9880d681SAndroid Build Coastguard Worker 7*9880d681SAndroid Build Coastguard Worker define zeroext i1 @t(i1 %c) { 8*9880d681SAndroid Build Coastguard Worker entry: 9*9880d681SAndroid Build Coastguard Worker ret i1 %c 10*9880d681SAndroid Build Coastguard Worker } 11*9880d681SAndroid Build Coastguard Worker 12*9880d681SAndroid Build Coastguard Worker... 13*9880d681SAndroid Build Coastguard Worker--- 14*9880d681SAndroid Build Coastguard Workername: t 15*9880d681SAndroid Build Coastguard WorkerisSSA: true 16*9880d681SAndroid Build Coastguard WorkertracksRegLiveness: true 17*9880d681SAndroid Build Coastguard Workerregisters: 18*9880d681SAndroid Build Coastguard Worker - { id: 0, class: gr32 } 19*9880d681SAndroid Build Coastguard Worker - { id: 1, class: gr8 } 20*9880d681SAndroid Build Coastguard Worker - { id: 2, class: gr8 } 21*9880d681SAndroid Build Coastguard Workerbody: | 22*9880d681SAndroid Build Coastguard Worker bb.0.entry: 23*9880d681SAndroid Build Coastguard Worker liveins: %edi 24*9880d681SAndroid Build Coastguard Worker ; CHECK: %0 = COPY %edi 25*9880d681SAndroid Build Coastguard Worker ; CHECK-NEXT: %1 = COPY %0:sub_8bit 26*9880d681SAndroid Build Coastguard Worker %0 = COPY %edi 27*9880d681SAndroid Build Coastguard Worker %1 = COPY %0:sub_8bit 28*9880d681SAndroid Build Coastguard Worker %2 = AND8ri %1, 1, implicit-def %eflags 29*9880d681SAndroid Build Coastguard Worker %al = COPY %2 30*9880d681SAndroid Build Coastguard Worker RETQ %al 31*9880d681SAndroid Build Coastguard Worker... 32*9880d681SAndroid Build Coastguard Worker 33