| ; NOTE: Assertions have been autogenerated by utils/update_llc_test_checks.py UTC_ARGS: --version 6 | |
| ; RUN: llc -mtriple=sparcv9 -O0 -disable-sparc-delay-filler < %s | FileCheck %s --check-prefix=O0 | |
| ; RUN: llc -mtriple=sparcv9 -O2 < %s | FileCheck %s --check-prefix=O2 | |
| ;; Instruction selection has to honour -O0 and keep the overwritten store. | |
| define void @overwritten_store(ptr %p) { | |
| ; O0-LABEL: overwritten_store: | |
| ; O0: .cfi_startproc | |
| ; O0-NEXT: ! %bb.0: ! %entry | |
| ; O0-NEXT: mov 27, %o1 | |
| ; O0-NEXT: st %o1, [%o0] | |
| ; O0-NEXT: mov 99, %o1 | |
| ; O0-NEXT: st %o1, [%o0] | |
| ; O0-NEXT: retl | |
| ; O0-NEXT: nop | |
| ; | |
| ; O2-LABEL: overwritten_store: | |
| ; O2: .cfi_startproc | |
| ; O2-NEXT: ! %bb.0: ! %entry | |
| ; O2-NEXT: mov 99, %o1 | |
| ; O2-NEXT: retl | |
| ; O2-NEXT: st %o1, [%o0] | |
| entry: | |
| store i32 27, ptr %p | |
| store i32 99, ptr %p | |
| ret void | |
| } |