File: shorten-mov.test

package info (click to toggle)
swiftlang 6.0.3-2
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid, trixie
  • size: 2,519,992 kB
  • sloc: cpp: 9,107,863; ansic: 2,040,022; asm: 1,135,751; python: 296,500; objc: 82,456; f90: 60,502; lisp: 34,951; pascal: 19,946; sh: 18,133; perl: 7,482; ml: 4,937; javascript: 4,117; makefile: 3,840; awk: 3,535; xml: 914; fortran: 619; cs: 573; ruby: 573
file content (14 lines) | stat: -rw-r--r-- 649 bytes parent folder | download | duplicates (6)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
# Test that 64 bit movq instructions with immediate operands
# that fit in 32 bits are shortened.

RUN: %clang %cflags %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