[llvm-commits] LLVM patch to implement UMLAL/SMLAL Instructions for ARM Architecture.

Yin Ma yinma at codeaurora.org
Tue Apr 17 11:28:01 PDT 2012


Hi Anton,

    The definition of umlal instruction has been changed to 6 operands instead of 4 operands.
We have to use "$RLo = $RdLo,$RHi = $RdHi" rule to ensure these sets of use operands and 
result operands to be allocated into the same registers and finally output correctly in 
assembly file using four registers format.

Thanks,

                                      Yin 


-----Original Message-----
From: Anton Korobeynikov [mailto:anton at korobeynikov.info] 
Sent: Saturday, April 14, 2012 1:37 PM
To: Yin Ma
Cc: Commit Messages and Patches for LLVM; Evan Cheng
Subject: Re: [llvm-commits] LLVM patch to implement UMLAL/SMLAL Instructions for ARM Architecture.

Hello Everyone

> -let Constraints = "@earlyclobber $RdLo, at earlyclobber $RdHi" in {
> +let Constraints = "$RLo = $RdLo,$RHi = $RdHi" in {
This part looks suspicious as well. v5 versions have output regs marked @earlyclobber to ensure they are never allocated same as input regs.
How this is ensured by the new constraint?

--
With best regards, Anton Korobeynikov
Faculty of Mathematics and Mechanics, Saint Petersburg State University





More information about the llvm-commits mailing list