mirror of
https://github.com/c64scene-ar/llvm-6502.git
synced 2024-08-27 15:29:51 +00:00
volatile memory references are safe to move. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@56948 91177308-0d34-0410-b5e6-96231b3b80d8
18 lines
445 B
LLVM
18 lines
445 B
LLVM
; RUN: llvm-as < %s | llc -march=x86 -mattr=sse2 | grep movsd | count 5
|
|
; RUN: llvm-as < %s | llc -march=x86 -mattr=sse2 -fast | grep movsd | count 5
|
|
|
|
@x = external global double
|
|
|
|
define void @foo() nounwind {
|
|
%a = volatile load double* @x
|
|
volatile store double 0.0, double* @x
|
|
volatile store double 0.0, double* @x
|
|
%b = volatile load double* @x
|
|
ret void
|
|
}
|
|
|
|
define void @bar() nounwind {
|
|
%c = volatile load double* @x
|
|
ret void
|
|
}
|