https://gcc.gnu.org/bugzilla/show_bug.cgi?id=112611
Jiahao Xu <xujiahao at loongson dot cn> changed: What |Removed |Added ---------------------------------------------------------------------------- CC| |xujiahao at loongson dot cn --- Comment #1 from Jiahao Xu <xujiahao at loongson dot cn> --- Due to some issues with the implementation of the [x]vshuf instruction in LA464, there is a problem where, when the index value in the register is greater than or equal to 64, it fails to perform modulo operation to obtain a new index for selecting the corresponding element. Instead, it directly writes a 0 to the destination register. LA664 has fixed this issue. The expected results in these two files are not the correct results, but rather the results obtained directly using the [x]vshuf instruction on la464. This is why they fail on LA664. Now, there are two possible solutions. One is to delete these two problematic test cases, as you suggested. The other solution is to modify the expected results to the correct ones and only test these two files on LA664. We are currently considering which option to choose.