mirror of
https://github.com/RPCS3/llvm-mirror.git
synced 2025-02-01 13:11:39 +01:00
865b9eeeaa
This should ensure that we can atomically write two bytes (on top of the retq and the one past it) and have those two bytes not straddle cache lines. We also move the label past the alignment instruction so that we can refer to the actual first instruction, as opposed to potential padding before the aligned instruction. Update the tests to allow us to reflect the new order of assembly. Reviewers: rSerge, echristo, majnemer Subscribers: llvm-commits, mehdi_amini Differential Revision: https://reviews.llvm.org/D23101 llvm-svn: 277701
15 lines
450 B
LLVM
15 lines
450 B
LLVM
; RUN: llc -filetype=asm -o - -mtriple=x86_64-unknown-linux-gnu < %s | FileCheck %s
|
|
|
|
define i32 @foo() nounwind noinline uwtable "function-instrument"="xray-always" {
|
|
; CHECK: .p2align 1, 0x90
|
|
; CHECK-LABEL: Lxray_sled_0:
|
|
; CHECK-NEXT: .ascii "\353\t"
|
|
; CHECK-NEXT: nopw 512(%rax,%rax)
|
|
; CHECK-LABEL: Ltmp0:
|
|
ret i32 0
|
|
; CHECK: .p2align 1, 0x90
|
|
; CHECK-LABEL: Lxray_sled_1:
|
|
; CHECK-NEXT: retq
|
|
; CHECK-NEXT: nopw %cs:512(%rax,%rax)
|
|
}
|