xref: /llvm-project/bolt/test/X86/shorten-mov.test (revision 11791ae7b0b05b8bd8d806331ff51da618912cf8)
1## Test that 64 bit movq instructions with immediate operands
2## that fit in 32 bits are shortened.
3
4RUN: %clang %cflags %p/Inputs/asm_main.c %p/Inputs/shorten_mov.s -o %t.exe
5RUN: llvm-bolt %t.exe -o %t
6RUN: llvm-objdump -d %t --print-imm-hex | FileCheck %s
7
8CHECK: <foo>:
9CHECK-NEXT:  48 c7 c0 11 11 00 00 	movq    $0x1111, %rax
10CHECK-NEXT:  48 c7 c0 11 11 00 00 	movq    $0x1111, %rax
11CHECK-NEXT:  48 c7 c0 22 22 11 11 	movq    $0x11112222, %rax
12CHECK-NEXT:  48 b8 22 22 11 11 01 00 00 00	movabsq $0x111112222, %rax
13CHECK-NEXT:  48 c7 c0 ff ff ff ff 	movq    $-0x1, %rax
14CHECK-NEXT:  48 b8 ff ff ff ff ff ff ff 7f	movabsq $0x7fffffffffffffff, %rax
15