Re: [PATCH] clang compatibility: MCR/MRC syntax

Richard Earnshaw <[email protected]>
Newsgroups gmane.comp.lib.newlib
Message-ID <[email protected]>
On 20/01/2025 15:09, Richard Earnshaw (lists) wrote:
> On 20/01/2025 14:46, Volodymyr Turanskyy wrote:
>> Hi,
>>
>>  
>>
>> Following up on the RFC [1], please find attached a patch with some clean up:
>>
>>   * Use mrc p15 co-processor instruction syntax.
>>   * Replace adrl that is not supported in Thumb mode with add.
>>   * Explicitly specify :lower16: for taking address.
>>
>>  
>>
>> References
>>
>>  1. https://sourceware.org/pipermail/newlib/2025/021452.html <https://sourceware.org/pipermail/newlib/2025/021452.html>
>>
>>  
>>
>>  
>>
>> Sincerely,
>>
>>  
>>
>> *Volodymyr Turanskyy* | Principal Software Engineer | CE SW LLVM Team
>>
> 
> 
> This is OK apart from:
> 
> -    mov         r7, #(VectorCode_Limit - VectorCode)
> +    mov         r7, #:lower16:(VectorCode_Limit - VectorCode)
> 
> which has the problem that it implies the presence of MOVW (ie armv6t2 or later); I believe we currently support all architectures from v4 upwards.  What is the problem that the LLVM assembler can't handle here?  The difference between these two locations should be small enough that we don't need anything beyond a simple MOV instruction.
> 
> R.



Hmm, ignore that.  The entire contents of this file is already gated on being built on armv7-a, so that shouldn't be a problem.

R.
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.