Mercurial > hg > CbC > CbC_llvm
view test/TableGen/defmclass.td @ 17:5e1f5bc27634
remove codeFlag for llvm type and add __CodeTy
author | Kaito Tokumori <e105711@ie.u-ryukyu.ac.jp> |
---|---|
date | Sat, 05 Oct 2013 22:04:18 +0900 |
parents | 9ad51c7bc036 |
children |
line wrap: on
line source
// RUN: llvm-tblgen %s | FileCheck %s class XD { bits<4> Prefix = 11; } // CHECK: Prefix = { 1, 1, 0, 0 }; class XS { bits<4> Prefix = 12; } class VEX { bit hasVEX_4VPrefix = 1; } def xd : XD; class BaseI { bits<4> Prefix = 0; bit hasVEX_4VPrefix = 0; } class I<bits<4> op> : BaseI { bits<4> opcode = op; int val = !if(!eq(Prefix, xd.Prefix), 7, 21); int check = !if(hasVEX_4VPrefix, 0, 10); } multiclass R { def rr : I<4>; } multiclass M { def rm : I<2>; } multiclass Y { defm SS : R, M, XD; // CHECK: Prefix = { 1, 1, 0, 0 }; // CHECK: Prefix = { 1, 1, 0, 0 }; defm SD : R, M, XS; } // CHECK: int check = 0; defm Instr : Y, VEX; // Anonymous defm. multiclass SomeAnonymous<int x> { def rm; def mr; } // These multiclasses shouldn't conflict. defm : SomeAnonymous<1>; defm : SomeAnonymous<2>;