1*9880d681SAndroid Build Coastguard Worker// RUN: llvm-tblgen %s | FileCheck %s 2*9880d681SAndroid Build Coastguard Worker// XFAIL: vg_leak 3*9880d681SAndroid Build Coastguard Worker 4*9880d681SAndroid Build Coastguard Workerclass Instr<list<dag> pat> { 5*9880d681SAndroid Build Coastguard Worker list<dag> Pattern = pat; 6*9880d681SAndroid Build Coastguard Worker} 7*9880d681SAndroid Build Coastguard Worker 8*9880d681SAndroid Build Coastguard Workerclass Reg { 9*9880d681SAndroid Build Coastguard Worker int a = 3; 10*9880d681SAndroid Build Coastguard Worker} 11*9880d681SAndroid Build Coastguard Worker 12*9880d681SAndroid Build Coastguard Workerdef VR128 : Reg; 13*9880d681SAndroid Build Coastguard Workerdef mem_frag; 14*9880d681SAndroid Build Coastguard Workerdef set; 15*9880d681SAndroid Build Coastguard Workerdef addr; 16*9880d681SAndroid Build Coastguard Workerdef shufp : Reg; 17*9880d681SAndroid Build Coastguard Worker 18*9880d681SAndroid Build Coastguard Workermulticlass shuffle<Reg RC> { 19*9880d681SAndroid Build Coastguard Worker def rri : Instr<[(set RC:$dst, (shufp:$src3 20*9880d681SAndroid Build Coastguard Worker RC:$src1, RC:$src2))]>; 21*9880d681SAndroid Build Coastguard Worker} 22*9880d681SAndroid Build Coastguard Worker 23*9880d681SAndroid Build Coastguard Worker// CHECK: shufp:src3 24*9880d681SAndroid Build Coastguard Workerdefm ADD : shuffle<VR128>; 25