|
70 | 70 | ret void
|
71 | 71 | }
|
72 | 72 |
|
| 73 | + define void @store_common_value_double_no_opt2(ptr %a, i32 %b, double %c, double %d, double %e) #0 { |
| 74 | + entry: |
| 75 | + store volatile double %e, ptr %a, align 8 |
| 76 | + store volatile double %e, ptr %a, align 8 |
| 77 | + ret void |
| 78 | + } |
| 79 | + |
73 | 80 | define void @store_common_ptr_double_no_opt(double %a, i32 %b, i32 %c, i32 %d, i32 %e, ptr %p) #0 {
|
74 | 81 | entry:
|
75 | 82 | store volatile double %a, ptr %p, align 8
|
@@ -246,6 +253,24 @@ body: |
|
246 | 253 | SD_RV32 killed renamable $x16_x17, killed renamable $x10, 0 :: (store (s64) into %ir.a)
|
247 | 254 | PseudoRET
|
248 | 255 |
|
| 256 | +... |
| 257 | +--- |
| 258 | +name: store_common_value_double_no_opt2 |
| 259 | +tracksRegLiveness: true |
| 260 | +body: | |
| 261 | + bb.0.entry: |
| 262 | + liveins: $x10, $x16, $x17 |
| 263 | +
|
| 264 | + ; RV32-LABEL: name: store_common_value_double_no_opt2 |
| 265 | + ; RV32: liveins: $x10, $x16, $x17 |
| 266 | + ; RV32-NEXT: {{ $}} |
| 267 | + ; RV32-NEXT: SD_RV32 renamable $x16_x17, renamable $x10, 0 :: (volatile store (s64) into %ir.a) |
| 268 | + ; RV32-NEXT: SD_RV32 killed renamable $x16_x17, killed renamable $x10, 0 :: (volatile store (s64) into %ir.a) |
| 269 | + ; RV32-NEXT: PseudoRET |
| 270 | + SD_RV32 renamable $x16_x17, renamable $x10, 0 :: (volatile store (s64) into %ir.a) |
| 271 | + SD_RV32 killed renamable $x16_x17, killed renamable $x10, 0 :: (volatile store (s64) into %ir.a) |
| 272 | + PseudoRET |
| 273 | +
|
249 | 274 | ...
|
250 | 275 | ---
|
251 | 276 | name: store_common_ptr_double_no_opt
|
|
0 commit comments