Home | History | Annotate | Download | only in TableGen
      1 // RUN: llvm-tblgen %s | FileCheck %s
      2 // XFAIL: vg_leak
      3 
      4 class Or4<bits<8> Val> {
      5   bits<8> V = {Val{7}, Val{6}, Val{5}, Val{4}, Val{3}, 1, Val{1}, Val{0} };
      6 }
      7 
      8 class Whatev<bits<8> x>;
      9 
     10 class Whatever<bits<8> x> {
     11   bits<8> W = {x{0}, x{1}, x{2}, x{3}, x{4}, x{5}, x{6}, x{7} };
     12 }
     13 
     14 multiclass X<bits<8> BaseOpc> {
     15  def bar : Whatev<Or4<BaseOpc>.V >;
     16 }
     17 
     18 multiclass Y<bits<8> BaseOpc> {
     19  def foo : Whatever<Or4<BaseOpc>.V >;
     20 }
     21 
     22 defm a : X<4>;
     23 
     24 // CHECK: def abar
     25 
     26 defm b : Y<8>;
     27 
     28 // CHECK: def bfoo
     29 // CHECK-NEXT: bits<8> W = { 0, 0, 1, 1, 0, 0, 0, 0 };
     30