Message ID | 20240130092901.2700245-1-christoph.muellner@vrull.eu |
---|---|
State | New |
Headers | show |
Series | riscv: Move UNSPEC_XTHEAD* from unspecv to unspec | expand |
Yeah, that should be put in unspec rather than unspecv, LGTM :) On Tue, Jan 30, 2024 at 5:29 PM Christoph Müllner <christoph.muellner@vrull.eu> wrote: > > The UNSPEC_XTHEAD* macros ended up in the unspecv enum, > which broke gcc/testsuite/gcc.target/riscv/xtheadfmv-fmv.c. > The INSNs expect these unspecs to be not volatile. > Further, there is not reason to have them defined volatile. > So let's simply move the macros into the unspec enum. > > With this patch we have again 0 fails in riscv.exp. > > gcc/ChangeLog: > > * config/riscv/riscv.md: Move UNSPEC_XTHEADFMV* to unspec enum. > > Signed-off-by: Christoph Müllner <christoph.muellner@vrull.eu> > --- > gcc/config/riscv/riscv.md | 8 ++++---- > 1 file changed, 4 insertions(+), 4 deletions(-) > > diff --git a/gcc/config/riscv/riscv.md b/gcc/config/riscv/riscv.md > index edcaec4a786..b320ad0210e 100644 > --- a/gcc/config/riscv/riscv.md > +++ b/gcc/config/riscv/riscv.md > @@ -89,6 +89,10 @@ (define_c_enum "unspec" [ > > ;; Workaround for HFmode without hardware extension > UNSPEC_FMV_SFP16_X > + > + ;; XTheadFmv moves > + UNSPEC_XTHEADFMV > + UNSPEC_XTHEADFMV_HW > ]) > > (define_c_enum "unspecv" [ > @@ -127,10 +131,6 @@ (define_c_enum "unspecv" [ > ;; Zihintpause unspec > UNSPECV_PAUSE > > - ;; XTheadFmv unspec > - UNSPEC_XTHEADFMV > - UNSPEC_XTHEADFMV_HW > - > ;; XTheadInt unspec > UNSPECV_XTHEADINT_PUSH > UNSPECV_XTHEADINT_POP > -- > 2.43.0 >
diff --git a/gcc/config/riscv/riscv.md b/gcc/config/riscv/riscv.md index edcaec4a786..b320ad0210e 100644 --- a/gcc/config/riscv/riscv.md +++ b/gcc/config/riscv/riscv.md @@ -89,6 +89,10 @@ (define_c_enum "unspec" [ ;; Workaround for HFmode without hardware extension UNSPEC_FMV_SFP16_X + + ;; XTheadFmv moves + UNSPEC_XTHEADFMV + UNSPEC_XTHEADFMV_HW ]) (define_c_enum "unspecv" [ @@ -127,10 +131,6 @@ (define_c_enum "unspecv" [ ;; Zihintpause unspec UNSPECV_PAUSE - ;; XTheadFmv unspec - UNSPEC_XTHEADFMV - UNSPEC_XTHEADFMV_HW - ;; XTheadInt unspec UNSPECV_XTHEADINT_PUSH UNSPECV_XTHEADINT_POP
The UNSPEC_XTHEAD* macros ended up in the unspecv enum, which broke gcc/testsuite/gcc.target/riscv/xtheadfmv-fmv.c. The INSNs expect these unspecs to be not volatile. Further, there is not reason to have them defined volatile. So let's simply move the macros into the unspec enum. With this patch we have again 0 fails in riscv.exp. gcc/ChangeLog: * config/riscv/riscv.md: Move UNSPEC_XTHEADFMV* to unspec enum. Signed-off-by: Christoph Müllner <christoph.muellner@vrull.eu> --- gcc/config/riscv/riscv.md | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-)