2011-08-24 10 views
6

पर SSSE3 उपयोग नहीं कर सकते मैं एक जिऑन W3550 प्रोसेसर कि SSE4.2 अनुदेश सेट के लिए समर्थन करने के लिए माना जाता है, लेकिन जब मैं कोशिश करते हैं और मेरी ग कार्यक्रम में अतीत SSE2 कुछ भी का उपयोग मैं एक संकलक त्रुटि जैसे मिलसक्षम cpu

#error "SSE4.2 instruction set not enabled" 

जब मैं

$cat /procs/cpuinfo 

का उपयोग यह सभी प्रासंगिक SSE निर्देश सेट का पता लगाता है लेकिन

$cpuid 

केवल SSE और SSE2 पता लगाता है।

मेरे ऑपरेटिंग सिस्टम कर्नेल 2.6.38-11-सामान्य के साथ ubuntu 11.04 है।

इसे ठीक करने के तरीके पर कोई विचार? धन्यवाद।

संपादित करें: एक अद्यतन नीचे स्टीव ओ की टिप्पणी के आधार पर। हेडर फाइल < * mmintrin.h> एसईएस संस्करण के लिए एक चेक करें जिसे वे #ifndef प्रीप्रोसेसर निर्देश का उपयोग करके जुड़े हुए हैं उदा।

#ifndef __SSSE3__ 
#error "SSSE3 instruction set not enabled". 

तो मुझे लगता है कि सवाल तो यही कारण है कि इस वापस cpu SSSE3 सक्षम होने के बावजूद झूठी आ रहा है।

+0

ध्वनि एक जीसीसी सीमा की तरह, निर्देश के संकलन मेजबान मंच या वास्तुकला के लिए सीमित नहीं है। आप केवल सीईजी गलती या इसी तरह के साथ रनटाइम पर प्रोसेसर सीमा को नोटिस करेंगे। –

उत्तर

11

आप -msse4.2 साथ निर्माण की कोशिश की? SSE4.2 में निर्मित कार्यों और कोड पीढ़ी के लिए

  • समर्थन -msse4.2 के माध्यम से उपलब्ध हैं।
  • दोनों SSE4.1 और SSE4.2 समर्थन -msse4 के माध्यम से सक्रिय किया जा सकता।

http://gcc.gnu.org/gcc-4.3/changes.html

+1

नहीं मैंने नहीं किया। यह पूरी तरह से काम करता है और मेरा कोड अब एसएसई 3 कमांड का उपयोग करके संकलित और चल रहा है, धन्यवाद! – NGaffney

+1

'-march = native' भी है जो आपके सीपीयू का समर्थन करने के आधार पर चीजों को सक्षम करेगा। – caf

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