On 3/13/23 02:28, juzhe.zh...@rivai.ai wrote:
From: Ju-Zhe Zhong <juzhe.zh...@rivai.ai>

For DEST EEW < SOURCE EEW, we can partial overlap register
according to RVV ISA.

gcc/ChangeLog:

         * config/riscv/vector.md: Fix RA constraint.

gcc/testsuite/ChangeLog:

         * gcc.target/riscv/rvv/base/narrow_constraint-12.c: New test.
This is OK.

The one question I keep having when I read these patterns is why we have the earlyclobber.

Earlyclobber means that the output is potentially written before the inputs are consumed. Typically for a single instruction pattern such constraints wouldn't make a lot of sense as *usually* the inputs are consumed before the output is written.

Just looking for a clarification as to why the earlyclobbers are needed at all, particularly for non-reduction patterns.

jeff

Reply via email to