[PATCH] Revert "[LoongArch] Support InlineAsm for LSX and LASX"
authorchenli <chenli@loongson.cn>
Mon, 18 Mar 2024 07:16:34 +0000 (15:16 +0800)
committerSylvestre Ledru <sylvestre@debian.org>
Fri, 13 Jun 2025 07:05:47 +0000 (09:05 +0200)
commit18fce192f225e62ace1de6a04d9078858ede698b
treecb82622cce9224d0687bffbd99dd55bcba595255
parentca0f848944dd9805b9ead0025b98c4912d12d56b
[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]