llvm-project/llvm/test/TableGen/cond-bitlist.td

28 lines
647 B
TableGen

// RUN: llvm-tblgen %s | FileCheck %s
// XFAIL: vg_leak
class S<int s> {
bits<2> val = !cond(!eq(s, 8): {0, 0},
!eq(s, 16): 0b01,
!eq(s, 32): 2,
!eq(s, 64): {1, 1},
1 : ?);
}
def D8 : S<8>;
def D16 : S<16>;
def D32 : S<32>;
def D64 : S<64>;
def D128: S<128>;
// CHECK: def D128
// CHECK-NEXT: bits<2> val = { ?, ? };
// CHECK: def D16
// CHECK-NEXT: bits<2> val = { 0, 1 };
// CHECK: def D32
// CHECK-NEXT: bits<2> val = { 1, 0 };
// CHECK: def D64
// CHECK-NEXT: bits<2> val = { 1, 1 };
// CHECK: def D8
// CHECK-NEXT: bits<2> val = { 0, 0 };