conditional_asm.s 1.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081
  1. # RUN: llvm-mc -triple i386-unknown-unknown %s -I %p | FileCheck %s
  2. # CHECK: .byte 2
  3. .if 1+2
  4. .if 1-1
  5. .byte 1
  6. .elseif 2+2
  7. .byte 1+1
  8. .else
  9. .byte 0
  10. .endif
  11. .endif
  12. # CHECK: .byte 0
  13. # CHECK-NOT: .byte 1
  14. .ifeq 32 - 32
  15. .byte 0
  16. .else
  17. .byte 1
  18. .endif
  19. # CHECK: .byte 0
  20. # CHECK: .byte 1
  21. # CHECK-NOT: .byte 2
  22. .ifge 32 - 31
  23. .byte 0
  24. .endif
  25. .ifge 32 - 32
  26. .byte 1
  27. .endif
  28. .ifge 32 - 33
  29. .byte 2
  30. .endif
  31. # CHECK: .byte 0
  32. # CHECK-NOT: .byte 1
  33. # CHECK-NOT: .byte 2
  34. .ifgt 32 - 31
  35. .byte 0
  36. .endif
  37. .ifgt 32 - 32
  38. .byte 1
  39. .endif
  40. .ifgt 32 - 33
  41. .byte 2
  42. .endif
  43. # CHECK-NOT: .byte 0
  44. # CHECK: .byte 1
  45. # CHECK: .byte 2
  46. .ifle 32 - 31
  47. .byte 0
  48. .endif
  49. .ifle 32 - 32
  50. .byte 1
  51. .endif
  52. .ifle 32 - 33
  53. .byte 2
  54. .endif
  55. # CHECK-NOT: .byte 0
  56. # CHECK-NOT: .byte 1
  57. # CHECK: .byte 2
  58. .iflt 32 - 31
  59. .byte 0
  60. .endif
  61. .iflt 32 - 32
  62. .byte 1
  63. .endif
  64. .iflt 32 - 33
  65. .byte 2
  66. .endif
  67. # CHECK: .byte 1
  68. # CHECK-NOT: .byte 0
  69. .ifne 32 - 32
  70. .byte 0
  71. .else
  72. .byte 1
  73. .endif