• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1; RUN: llc -march=mips -fast-isel=false -O0 < %s 2>&1 | FileCheck %s -check-prefix=O0
2; RUN: llc -march=mips -fast-isel=false -O2 < %s 2>&1 | FileCheck %s -check-prefix=O2
3
4; At -O0, DAGCombine won't try to merge these consecutive loads but it will at
5; -O2.
6
7define void @foo() nounwind {
8entry:
9  %0 = alloca [2 x i8], align 32
10  %1 = getelementptr inbounds [2 x i8], [2 x i8]* %0, i32 0, i32 0
11  store i8 1, i8* %1
12  %2 = getelementptr inbounds [2 x i8], [2 x i8]* %0, i32 0, i32 1
13  store i8 1, i8* %2
14  ret void
15}
16
17; O0: addiu $[[REG:[0-9]+]], $zero, 1
18; O0-DAG: sb $[[REG]], 0($sp)
19; O0-DAG: sb $[[REG]], 1($sp)
20
21; O2: addiu $[[REG:[0-9]+]], $zero, 257
22; O2: sh $[[REG]], 0($sp)
23