2010-12-08 18 views
6

मैं सी में लिखे गए सॉफ़्टवेयर पर काम करता हूं जो विभिन्न आर्किटेक्चर (एआरएमवी 5, एआरएमवी 6 ज्यादातर) के साथ विभिन्न एआरएम प्रोसेसर पर चलता है। वर्तमान में हम आरवीडीएस के कुछ अलग-अलग संस्करणों के साथ हमारे कोड को संकलित करते हैं, लेकिन हम कुछ कस्टम उपकरण जोड़ने के लिए एलएलवीएम के साथ कुछ कोड संकलित करने की सोच रहे हैं।एलएलवीएम समर्थन क्या एआरएम आर्किटेक्चर करता है?

मुझे पता है कि एलएलवीएम में एआरएम और थंब लक्ष्य हैं, लेकिन यह किस आर्किटेक्चर का समर्थन करता है, खासकर? एलएलवीएम एआरएमवी 5 पर कोड काम उत्पन्न करेगा? मुझे किस सीमा के बारे में पता होना चाहिए?

उत्तर

7

उनके source code सूचियों निम्नलिखित archs:

// ARM architectures. 
def ArchV4T  : SubtargetFeature<"v4t", "ARMArchVersion", "V4T", "ARM v4T">; 
def ArchV5T  : SubtargetFeature<"v5t", "ARMArchVersion", "V5T", "ARM v5T">; 
def ArchV5TE : SubtargetFeature<"v5te", "ARMArchVersion", "V5TE", "ARM v5TE, v5TEj, v5TExp">; 
def ArchV6  : SubtargetFeature<"v6", "ARMArchVersion", "V6", "ARM v6">; 
def ArchV6M  : SubtargetFeature<"v6m", "ARMArchVersion", "V6M", "ARM v6m", [FeatureNoARM, FeatureDB]>; 
def ArchV6T2 : SubtargetFeature<"v6t2", "ARMArchVersion", "V6T2", "ARM v6t2", [FeatureThumb2]>; 
def ArchV7A  : SubtargetFeature<"v7a", "ARMArchVersion", "V7A", "ARM v7A", [FeatureThumb2, FeatureNEON, FeatureDB]>; 
def ArchV7M  : SubtargetFeature<"v7m", "ARMArchVersion", "V7M", "ARM v7M", [FeatureThumb2, FeatureNoARM, FeatureDB, FeatureHWDiv]>; 
+0

यह इस तरह एक आधिकारिक सूची के लिए अच्छा है। यह जानना मुश्किल है कि प्रत्येक वास्तुकला के स्तर की स्थिरता किस स्तर पर है। –

+2

जबकि ये मेहराब हैं एलएलवीएम बैकएंड के बारे में पता है, यह v5te, v6 और v7a पर सबसे अच्छा परीक्षण किया जाता है। v5te एलएलवीएम बिल्डबॉट http://google1.osuosl.org:8011/ और v6 और v7a पर एक कॉन्फ़िगर है, दोनों को ऐप्पल के "स्मोशलाब" बिल्डबॉट पर आर्म-सेब-डार्विन (आईओएस) के रूप में परीक्षण किया जाता है। – ohmantics

+0

यह ट्रंक से जुड़ा हुआ है, लेकिन इस सूची को किस संस्करण से लिया गया था? – RedX

1

मैंने एआरएमवी 4, और एआरएमवी 6 पर निश्चित रूप से llvm जेनरेट कोड चलाया है। मेरे पास कुछ एआरएमवी 5 प्लेटफार्म हैं लेकिन मुझे याद नहीं है कि मैंने वहां कोशिश की है। मुझे लगता है कि जेनेरिक-मार्च = आर्म का आउटपुट कम से कम आम संप्रदाय (एआरएमवी 4) कोड देगा, जिसका अर्थ है कि यह एआरएमवी 5 पर चलाएगा। यह सब एम्बेडेड था, कोई ऑपरेटिंग सिस्टम प्रकार आपको काम नहीं करता है, मैंने हाथ लिनक्स बाइनरी या ऐसा कुछ भी बनाने के लिए llvm का उपयोग नहीं किया है।

संबंधित मुद्दे