[PATCH] D18086: Fix default processor name for armv6k.

Renato Golin via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Fri Sep 14 04:45:24 PDT 2018


rengolin added a comment.

If j-s doesn't exists (remember, most of that list came from the ancient days of llvm, so could very easily be completely wrong, but "works"), I all for removing it and making a new (correct) CPU name as the default for armv6k.

I'm also happy to follow gcc here (least surprise), given the consequences are very very small, if any, to code generation.



================
Comment at: include/llvm/Support/ARMTargetParser.def:182
 ARM_CPU_NAME("arm1136jz-s", AK_ARMV6, FK_NONE, false, AEK_NONE)
-ARM_CPU_NAME("arm1176j-s", AK_ARMV6K, FK_NONE, true, AEK_NONE)
+ARM_CPU_NAME("arm1176jz-s", AK_ARMV6K, FK_NONE, false, AEK_NONE)
+ARM_CPU_NAME("arm1176jzf-s", AK_ARMV6K, FK_VFPV2, true, AEK_NONE)
----------------
peter.smith wrote:
> rengolin wrote:
> > srhines wrote:
> > > This uses the same name as line 184, which seems like a bug to me.
> > I think that's what @labrinea was talking about.
> > 
> > Can anyone from Arm confirm what "j-s" really is, if it is anything at all?
> > 
> > I had so many conversations about this in the past and all of them got me even more confused than before.
> The j stands for Jazelle (https://en.wikipedia.org/wiki/Jazelle) which was a Thumb like mode that could be entered with I think the BXJ mode. This would allow the processor to execute a handful of the most common Java bytecodes. The only affect that this would have on LLVM would potentially be to enable the BXJ instruction. Personally I don't think it is worth it given that direct execution of bytecodes lost out to JIT compilers so I don't expect anyone actually wanting to use it.
> 
> The s stands for synthesizable. This means that the design was available to hardware licensees in VHDL rather than as a fixed macrocell. Obviously this makes no difference to code-generation.
> 
> 
Sorry Peter, I should have been more clear. I meant what is "j-s", armv6, 6k, 6kz? 

But you answered my question, it isn't. Any of them. 

So, the natural question here is: what is the default for armv6k? 


https://reviews.llvm.org/D18086





More information about the llvm-commits mailing list