code16-32-64.s
677 Bytes
# RUN: llvm-mc %s -triple x86_64-linux-gnu -filetype=obj -o - | llvm-objdump -d - | FileCheck %s
# RUN: llvm-mc %s -triple x86_64-windows-msvc -filetype=obj -o - | llvm-objdump -d - | FileCheck %s
# RUN: llvm-mc %s -triple x86_64-apple-macos -filetype=obj -o - | llvm-objdump -d - | FileCheck %s
.text
.global foo
foo:
.code64
movl (%eax), %eax
.code32
movl (%eax), %eax
.code16
movl (%eax), %eax
.code64
retq
# CHECK: foo:
# CHECK-NEXT: 67 8b 00 movl (%eax), %eax
# CHECK-NEXT: 8b 00 movl (%rax), %eax
# CHECK-NEXT: 67 66 8b 00 movw (%eax), %ax
# CHECK-NEXT: c3 retq