Add a flag, 'RetainsPreviousHalf', for operations that operate on top/bottom halves of their input and only write to half of their destination, leaving the other half to retain its previous value. Extracting this out of D76235 to make testing more manageable.
Details
Details
Diff Detail
Diff Detail
- Repository
- rG LLVM Github Monorepo
Event Timeline
Comment Actions
Looks like a good direction to me.
Question about the name retainsPreviousHalf. Since it is not immediately obvious what the Half refers to, that could e.g. be a registers, how do you feel about e.g. retainsPreviousHalfElement? That looks like the terminology used by the ArmARM, e.g one of the instruction descriptions is:
" ... writing the result to either the top half (T variant) or bottom half (B variant) of the result element. The other half of the destination vector element
retains its previous value."
llvm/lib/Target/ARM/ARMInstrFormats.td | ||
---|---|---|
411 | I wanted to add that a comment would be good here, but then noticed there is one in ARMBaseInfo.h. Looks like the comment for thumbArithFlagSetting is duplicated, and is present here and in ARMBaseInfo.h |
I wanted to add that a comment would be good here, but then noticed there is one in ARMBaseInfo.h. Looks like the comment for thumbArithFlagSetting is duplicated, and is present here and in ARMBaseInfo.h