math.td 697 B

12345678910111213141516171819202122232425262728293031323334353637
  1. // RUN: llvm-tblgen %s | FileCheck %s
  2. // XFAIL: vg_leak
  3. def shifts {
  4. bits<2> b = 0b10;
  5. int i = 2;
  6. int shifted_b = !shl(b, 2);
  7. int shifted_i = !shl(i, 2);
  8. }
  9. // CHECK: def shifts
  10. // CHECK: shifted_b = 8
  11. // CHECK: shifted_i = 8
  12. class Int<int value> {
  13. int Value = value;
  14. }
  15. // CHECK: def v0
  16. // CHECK: Value = 0
  17. // CHECK: def v1
  18. // CHECK: Value = 1
  19. def v1024 : Int<1024>;
  20. // CHECK: def v1024
  21. // CHECK: Value = 1024
  22. def v1025 : Int<!add(v1024.Value, 1)>;
  23. // CHECK: def v1025
  24. // CHECK: Value = 1025
  25. def v2048 : Int<!add(v1024.Value, v1024.Value)>;
  26. // CHECK: def v2048
  27. // CHECK: Value = 2048
  28. def v0 : Int<!and(v1024.Value, v2048.Value)>;
  29. def v1 : Int<!and(v1025.Value, 1)>;