CVSROOT:        /cvs
Module name:    src
Changes by:     v...@cvs.openbsd.org    2019/07/01 09:15:54

Modified files:
        gnu/llvm/tools/clang/lib/Basic/Targets: Mips.h 
        gnu/llvm/lib/Target/Mips: MipsISelLowering.cpp 

Log message:
Implement the 'h' register constraint on mips64. This lets clang build
pieces of software that use the constraint if the compiler claims
to be compatible with GCC 4.2.1.

Note that the constraint was removed in GCC 4.4. The reason was that
'h' could generate code whose result is unpredictable. The underlying
reason is that the HI and LO registers are special, and the optimizer
has to be careful when choosing the order of HI/LO accesses. It looks
that LLVM has the needed logic.

Reply via email to