|
10 | 10 | ret void |
11 | 11 | } |
12 | 12 |
|
| 13 | + define void @store_common_value_double_zero(ptr %a, ptr %b, ptr %c) #0 { |
| 14 | + entry: |
| 15 | + store double 0.0, ptr %a, align 8 |
| 16 | + store double 0.0, ptr %b, align 8 |
| 17 | + store double 0.0, ptr %c, align 8 |
| 18 | + ret void |
| 19 | + } |
| 20 | + |
13 | 21 | define void @store_common_ptr_double(double %a, double %b, double %d, ptr %p) #0 { |
14 | 22 | entry: |
15 | 23 | store volatile double %a, ptr %p, align 8 |
@@ -117,6 +125,28 @@ body: | |
117 | 125 | SD_RV32 killed renamable $x16_x17, killed renamable $x12, 0 :: (store (s64) into %ir.c) |
118 | 126 | PseudoRET |
119 | 127 |
|
| 128 | +... |
| 129 | +--- |
| 130 | +name: store_common_value_double_zero |
| 131 | +tracksRegLiveness: true |
| 132 | +body: | |
| 133 | + bb.0.entry: |
| 134 | + liveins: $x10, $x11, $x12 |
| 135 | +
|
| 136 | + ; RV32-LABEL: name: store_common_value_double_zero |
| 137 | + ; RV32: liveins: $x10, $x11, $x12 |
| 138 | + ; RV32-NEXT: {{ $}} |
| 139 | + ; RV32-NEXT: $x14 = ADDI $x0, 0 |
| 140 | + ; RV32-NEXT: $x15 = ADDI $dummy_reg_pair_with_x0, 0 |
| 141 | + ; RV32-NEXT: SD_RV32 $x14_x15, killed renamable $x10, 0 :: (store (s64) into %ir.a) |
| 142 | + ; RV32-NEXT: SD_RV32 $x14_x15, killed renamable $x11, 0 :: (store (s64) into %ir.b) |
| 143 | + ; RV32-NEXT: SD_RV32 $x14_x15, killed renamable $x12, 0 :: (store (s64) into %ir.c) |
| 144 | + ; RV32-NEXT: PseudoRET |
| 145 | + SD_RV32 $x0_pair, killed renamable $x10, 0 :: (store (s64) into %ir.a) |
| 146 | + SD_RV32 $x0_pair, killed renamable $x11, 0 :: (store (s64) into %ir.b) |
| 147 | + SD_RV32 $x0_pair, killed renamable $x12, 0 :: (store (s64) into %ir.c) |
| 148 | + PseudoRET |
| 149 | +
|
120 | 150 | ... |
121 | 151 | --- |
122 | 152 | name: store_common_ptr_double |
|
0 commit comments