| # Test that 64 bit movq instructions with immediate operands |
| # that fit in 32 bits are shortened. |
| |
| RUN: %clang %p/Inputs/asm_main.c %p/Inputs/shorten_mov.s -o %t.exe |
| RUN: llvm-bolt %t.exe -o %t |
| RUN: llvm-objdump -d %t --print-imm-hex | FileCheck %s |
| |
| CHECK: <foo>: |
| CHECK-NEXT: 48 c7 c0 11 11 00 00 movq $0x1111, %rax |
| CHECK-NEXT: 48 c7 c0 11 11 00 00 movq $0x1111, %rax |
| CHECK-NEXT: 48 c7 c0 22 22 11 11 movq $0x11112222, %rax |
| CHECK-NEXT: 48 b8 22 22 11 11 01 00 00 00 movabsq $0x111112222, %rax |
| CHECK-NEXT: 48 c7 c0 ff ff ff ff movq $-0x1, %rax |
| CHECK-NEXT: 48 b8 ff ff ff ff ff ff ff 7f movabsq $0x7fffffffffffffff, %rax |