Skip to content

RVV spilling when using VCIX instructions with -mtune=sifive-x280 #83391

@michalt

Description

@michalt

We encountered a weird problem where using -mtunefor the X280 results in a very poor codegen: https://godbolt.org/z/qfzKMcq84 (note that by adding more blocks the problem gets worse and worse as we get more spills)

My hypothesis is that due to the recent change to allow reordering VCIX instructions, the scheduler tries to move all the loads before the VCIX instructions. What is surprising is that it doesn't seem to take into account register pressure?

@topperc and @michaelmaitland Any ideas what's happening? Thanks!

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions