llvm/test/MC/X86/imm-comments.s
Sanjay Patel 760078b188 [MCExpr] avoid UB via negation of INT_MIN
I accidentally exposed a bug in MCExpr::evaluateAsRelocatableImpl() with the test file added in:
http://reviews.llvm.org/rL269977

Differential Revision: http://reviews.llvm.org/D20434



git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@270218 91177308-0d34-0410-b5e6-96231b3b80d8
2016-05-20 14:09:41 +00:00

29 lines
786 B
ArmAsm

# RUN: llvm-mc %s -triple=x86_64-unknown-unknown | FileCheck %s
movb $127, %al
movb $-128, %al
movw $32767, %ax
movw $-32768, %ax
movl $2147483647, %eax
movl $-2147483648, %eax
movabsq $9223372036854775807, %rax
# This line should not induce undefined behavior via negation of INT64_MIN.
movabsq $-9223372036854775808, %rax
# CHECK: movb $127, %al
# CHECK: movb $-128, %al
# CHECK: movw $32767, %ax # imm = 0x7FFF
# CHECK: movw $-32768, %ax # imm = 0xFFFFFFFFFFFF8000
# CHECK: movl $2147483647, %eax # imm = 0x7FFFFFFF
# CHECK: movl $-2147483648, %eax # imm = 0xFFFFFFFF80000000
# CHECK: movabsq $9223372036854775807, %rax # imm = 0x7FFFFFFFFFFFFFFF
# CHECK: movabsq $-9223372036854775808, %rax # imm = 0x8000000000000000