llvm.org GIT mirror llvm / release_26 test / CodeGen / X86 / volatile.ll
release_26

Tree @release_26 (Download .tar.gz)

volatile.ll @release_26raw · history · blame

; RUN: llvm-as < %s | llc -march=x86 -mattr=sse2 | grep movsd | count 5
; RUN: llvm-as < %s | llc -march=x86 -mattr=sse2 -O0 | 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
}