Daniel Sanders | 46fe655 | 2016-07-14 13:25:22 +0000 | [diff] [blame] | 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 | |
| 7 | define void @foo() nounwind { |
| 8 | entry: |
| 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) |