[llvm] [PowerPC] Add phony subregisters to cover the high half of the VSX registers. (PR #94628)
Stefan Pintilie via llvm-commits
llvm-commits at lists.llvm.org
Tue Jul 16 18:56:09 PDT 2024
================
@@ -750,25 +750,21 @@ entry:
define <2 x double> @testDoubleImm1(<2 x double> %a, double %b) {
; CHECK-64-LABEL: testDoubleImm1:
; CHECK-64: # %bb.0: # %entry
-; CHECK-64-NEXT: # kill: def $f1 killed $f1 def $vsl1
----------------
stefanp-ibm wrote:
I took a look at this and the copy has changed which is why the kill is no longer emitted.
Before the change:
```
renamable $f1 = COPY $f1, implicit-def $vsl1
```
After the change:
```
renamable $f1 = COPY $f1
```
Basically, we are missing the `implicit-def`. There is nothing wrong with not having the kill if the `implicit-def` is not there. However, I'm not sure if the `implicit-def` is necessary here or not.
A few more details here. This is as intended. As you mentioned, the kill is added by `handleIdentityCopy()` and is guarded by `if (MI.getOperand(1).isUndef() || MI.getNumOperands() > 2) {` . If we are missing the `implicit-def` we have exactly two operands and so we don't add the kill.
https://github.com/llvm/llvm-project/pull/94628
More information about the llvm-commits
mailing list