1
0
mirror of https://github.com/RPCS3/llvm-mirror.git synced 2024-10-30 07:22:55 +01:00
llvm-mirror/test/TableGen/usevalname.td
Bruno Cardoso Lopes fe5b207577 Fix a tblgen bug.
Given the pattern below as an example:
list<dag> Pattern = [(set RC:$dst, (v4f32 (shufp:src3 RC:$src1,
                            (mem_frag addr:$src2))))];

The right reference resolving should lead to:
list<dag> Pattern = [(set VR128:$dst, (v4f32 (shufp:src3 VR128:$src1,
                            (mem_frag addr:$src2))))];
But was yielding:
list<dag> Pattern = [(set VR128:$dst, (v4f32 (shufp VR128:$src1,
                            (mem_frag addr:$src2))))];

Fix this by passing the right name when creating a new DagInit node.

llvm-svn: 106670
2010-06-23 19:50:39 +00:00

25 lines
396 B
TableGen

// RUN: tblgen %s | FileCheck %s
// XFAIL: vg_leak
class Instr<list<dag> pat> {
list<dag> Pattern = pat;
}
class Reg {
int a = 3;
}
def VR128 : Reg;
def mem_frag;
def set;
def addr;
def shufp : Reg;
multiclass shuffle<Reg RC> {
def rri : Instr<[(set RC:$dst, (shufp:$src3
RC:$src1, RC:$src2))]>;
}
// CHECK: shufp:src3
defm ADD : shuffle<VR128>;