[PATCH] Add support for armv6k subtarget

Renato Golin renato.golin at linaro.org
Sun Mar 8 10:48:00 PDT 2015


================
Comment at: include/llvm/Support/ARMBuildAttributes.h:102
@@ -101,4 +101,3 @@
   v6       = 6,   // e.g. ARM1136J_S
-  v6KZ     = 7,   // e.g. ARM1176JZ_S
-  v6T2     = 8,   // e.g. ARM1156T2F_S
-  v6K      = 9,   // e.g. ARM1136J_S
+  v6KZ     = 7,   // e.g. -
+  v6T2     = 8,   // e.g. ARM1156T2_S
----------------
tinti wrote:
> rengolin wrote:
> > That's actually ARM1176JZ_S, pure ARMv6K is more like MPCore. Ie. keep the comment. :)
> The problem is that we have many subtargets and many processors and it is still fuzzy how to link them:
> 
> Processors (ARM11):
> - arm1126j (never seen but there is one reference on ARM11 manual)
> - arm1136j-s (revision 0)
> - arm1136jf-s (revision 0)
> - arm1136j-s (revision 1)
> - arm1136jf-s (revision 1)
> - arm1156t2-s
> - arm1156t2f-s
> - arm1176jz-s
> - arm1176jzf-s
> - mpcorenovfp
> - mpcore
> 
> Subarches:
> - v6
> - v6j
> - v6k
> - v6z
> - v6kz
> - v6t2
> - v6core <== guessing a name
> 
> My guess of the best map:
> - v6 -> arm1126j arm1136j-s (r0) arm1136jf-s (r0)
> - v6j -> alias for v6
> - v6k -> arm1136j-s (r1) arm1136jf-s (r1); inherits v6; adds HINT 
> - v6z -> arm1176jz-s arm1176jzf-s; inherits v6k; adds TRUSTZONE
> - v6kz -> alias for v6z
> - v6t2 -> arm1156t2-s arm1156t2f-s; inherits v6k; adds THUMB2
> - v6core -> mpcorenovfp mpcore; inherits v6k; adds MULTICORE
> 
> This does not reflect this patch because:
> 
> - I'm ignoring that a arm1136 revisions can be v6k. Hence I'm being really strict in keeping the old behavior of LLVM that is to not allow HINT on this arm1136.
> - There is no support for MULTICORE and TRUSTZONE on the backend or I am afraid to use them and break things. Therefore I am merging mpcore and arm1176 as one being.
> 
> What do you think? For now I will do as you suggested but would be great to organize this later.
v6core is actually v6k. Multi-core and trust-zone are irrelevant for the compiler, that's why we ignore. But we still have to recognize the arch name and associate with the right CPU (and vice-versa).

http://reviews.llvm.org/D8126

EMAIL PREFERENCES
  http://reviews.llvm.org/settings/panel/emailpreferences/






More information about the llvm-commits mailing list