1// RUN: llvm-tblgen %s | FileCheck %s 2// XFAIL: vg_leak 3 4def shifts { 5 bits<2> b = 0b10; 6 int i = 2; 7 int shifted_b = !shl(b, 2); 8 int shifted_i = !shl(i, 2); 9} 10// CHECK: def shifts 11// CHECK: shifted_b = 8 12// CHECK: shifted_i = 8 13 14class Int<int value> { 15 int Value = value; 16} 17 18def v1022 : Int<1022>; 19 20// CHECK: def v0 21// CHECK: Value = 0 22 23// CHECK: def v1 24// CHECK: Value = 1 25 26// CHECK: def v1023 27// CHECK: Value = 1023 28def v1023 : Int<!or(v1022.Value, 1)>; 29 30def v1024 : Int<1024>; 31// CHECK: def v1024 32// CHECK: Value = 1024 33 34def v1025 : Int<!add(v1024.Value, 1)>; 35// CHECK: def v1025 36// CHECK: Value = 1025 37 38def v2048 : Int<!add(v1024.Value, v1024.Value)>; 39// CHECK: def v2048 40// CHECK: Value = 2048 41 42def v0 : Int<!and(v1024.Value, v2048.Value)>; 43def v1 : Int<!and(v1025.Value, 1)>; 44 45// CHECK: def v3072 46// CHECK: Value = 3072 47def v3072 : Int<!or(v1024.Value, v2048.Value)>; 48