[PATCH] Revert "[LoongArch] Support InlineAsm for LSX and LASX"
authorchenli <chenli@loongson.cn>
Mon, 18 Mar 2024 07:16:34 +0000 (15:16 +0800)
committerMatthias Klose <doko@debian.org>
Sat, 4 Jan 2025 08:12:52 +0000 (09:12 +0100)
commit18afab67adafd3a9610471b8fbdd2783a9159791
treee395b7b2d6b3e6acec99d70936807d16dd15c9ac
parent5664ee6749714311f60f938b8491669662879d06
[PATCH] Revert "[LoongArch] Support InlineAsm for LSX and LASX"

This reverts commit d25c79dc70008b835312e5cc7ef48b199fda3165.

D154931[1] needs to be reverted on LLVM17. As Loongson SIMD Extension(LSX) and
Loongson Advanced SIMD Extension(LASX) are not fully supported on LLVM17,
InlineAsm for LSX and LASX should not be supported as well. Otherwise it leads
to the following issue[2]:
'''
LLVM ERROR: Cannot select: 0x7ffea41a3650: ch = store<(store (s128) into %ir.mask
store52)> 0x7ffea41a35e0, 0x7ffea4196a30, FrameIndex:i64<6>, undef:i64
'''

LSX and LASX are fully supported on LLVM18 and are not supported on LLVM16,
thus only LLVM17 has the problem.

[1] https://reviews.llvm.org/D154931
[2] https://buildd.debian.org/status/fetch.php?pkg=qtdeclarative-opensource-src&arch=loong64&ver=5.15.10%2Bdfsg-2%2Bb1&stamp=1710571569&raw=0

Change-Id: I2bd74a71fe5f0bcadeb04ecf1d63d9f97765e8b5

Gbp-Pq: Name D154931-revert-loong64.patch
13 files changed:
clang/lib/Basic/Targets/LoongArch.cpp
clang/test/CodeGen/LoongArch/lasx/inline-asm-gcc-regs-error.c [deleted file]
clang/test/CodeGen/LoongArch/lasx/inline-asm-gcc-regs.c [deleted file]
clang/test/CodeGen/LoongArch/lasx/inline-asm-operand-modifier.c [deleted file]
clang/test/CodeGen/LoongArch/lsx/inline-asm-gcc-regs-error.c [deleted file]
clang/test/CodeGen/LoongArch/lsx/inline-asm-gcc-regs.c [deleted file]
clang/test/CodeGen/LoongArch/lsx/inline-asm-operand-modifier.c [deleted file]
llvm/lib/Target/LoongArch/LoongArchAsmPrinter.cpp
llvm/lib/Target/LoongArch/LoongArchISelLowering.cpp
llvm/test/CodeGen/LoongArch/lasx/inline-asm-operand-modifier.ll [deleted file]
llvm/test/CodeGen/LoongArch/lasx/inline-asm-reg-names.ll [deleted file]
llvm/test/CodeGen/LoongArch/lsx/inline-asm-operand-modifier.ll [deleted file]
llvm/test/CodeGen/LoongArch/lsx/inline-asm-reg-names.ll [deleted file]