Daniel Sanders via llvm-dev
2016-May-14 16:33 UTC
[llvm-dev] Integrated Assembler is now the default for mips-* and mipsel-* triples.
Hi, I'm pleased to announce that the MIPS integrated assembler is now good enough to recurse the compiler for MIPS32R2, build a bootable Linux kernel for MIPS32R2, and pass LNT testing for a variety of 32-bit MIPS targets. I've therefore enabled it by default for all 32-bit MIPS targets in both LLVM and Clang. We're not aiming for perfect GAS compatibility but you should find that the commonly used functionality works as expected. If you run into problems with it then please file a bug report and use -fno-integrated-as while it's being fixed. The plan is to fix any remaining issues as we discover them but we may fall back on reverting temporarily if too much breaks. We had to leave 64-bit MIPS targets using an external assembler for the moment since the integrated assembler has a number of issues with the N32 ABI which also prevents us making the switch for the N64 ABI because the relevant code cannot distinguish N32 from N64. Hopefully we'll be able to make the switch for those targets in the near future. Thanks to everyone who made this possible. Daniel Sanders Leading Software Design Engineer, MIPS Processor IP Imagination Technologies Limited http://www.imgtec.com/
Rafael EspĂndola via llvm-dev
2016-May-16 14:42 UTC
[llvm-dev] Integrated Assembler is now the default for mips-* and mipsel-* triples.
Congratulations and thanks! Cheers, Rafael On 14 May 2016 at 12:33, Daniel Sanders via llvm-dev <llvm-dev at lists.llvm.org> wrote:> Hi, > > I'm pleased to announce that the MIPS integrated assembler is now good enough > to recurse the compiler for MIPS32R2, build a bootable Linux kernel for > MIPS32R2, and pass LNT testing for a variety of 32-bit MIPS targets. I've > therefore enabled it by default for all 32-bit MIPS targets in both LLVM and > Clang. > > We're not aiming for perfect GAS compatibility but you should find that the > commonly used functionality works as expected. > > If you run into problems with it then please file a bug report and use > -fno-integrated-as while it's being fixed. The plan is to fix any remaining > issues as we discover them but we may fall back on reverting temporarily if too > much breaks. > > We had to leave 64-bit MIPS targets using an external assembler for the moment > since the integrated assembler has a number of issues with the N32 ABI which > also prevents us making the switch for the N64 ABI because the relevant code > cannot distinguish N32 from N64. Hopefully we'll be able to make the switch for > those targets in the near future. > > Thanks to everyone who made this possible. > > Daniel Sanders > Leading Software Design Engineer, MIPS Processor IP > Imagination Technologies Limited > http://www.imgtec.com/ > _______________________________________________ > LLVM Developers mailing list > llvm-dev at lists.llvm.org > http://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-dev
Renato Golin via llvm-dev
2016-May-16 14:46 UTC
[llvm-dev] Integrated Assembler is now the default for mips-* and mipsel-* triples.
On 14 May 2016 at 17:33, Daniel Sanders via llvm-dev <llvm-dev at lists.llvm.org> wrote:> I'm pleased to announce that the MIPS integrated assembler is now good enough > to recurse the compiler for MIPS32R2, build a bootable Linux kernel for > MIPS32R2, and pass LNT testing for a variety of 32-bit MIPS targets. I've > therefore enabled it by default for all 32-bit MIPS targets in both LLVM and > Clang.Success!!! :D Congratulations to every one, this is a major step forward! cheers, --renato
David Chisnall via llvm-dev
2016-May-16 15:02 UTC
[llvm-dev] Integrated Assembler is now the default for mips-* and mipsel-* triples.
On 16 May 2016, at 15:46, Renato Golin via llvm-dev <llvm-dev at lists.llvm.org> wrote:> > On 14 May 2016 at 17:33, Daniel Sanders via llvm-dev > <llvm-dev at lists.llvm.org> wrote: >> I'm pleased to announce that the MIPS integrated assembler is now good enough >> to recurse the compiler for MIPS32R2, build a bootable Linux kernel for >> MIPS32R2, and pass LNT testing for a variety of 32-bit MIPS targets. I've >> therefore enabled it by default for all 32-bit MIPS targets in both LLVM and >> Clang. > > Success!!! :D > > Congratulations to every one, this is a major step forward!Indeed. We still have a few patches needed to be able to handle the n64 assembly in the FreeBSD kernel and to fix the position-dependent relocations, but with those applied we can compile FreeBSD/MIPS64 (MIPS III) with LLVM / Clang. David