كيفية جعل دول مجلس التعاون الخليجي تستخدم أكثر من اثنين من سجلات SIMD عند استخدام الجوهرية؟

StackOverflow https://stackoverflow.com/questions/124405

  •  02-07-2019
  •  | 
  •  

سؤال

أنا أكتب بعض التعليمات البرمجية وأحاول تسريعها باستخدام SIMD intrinsics SSE2/3.الكود الخاص بي ذو طبيعة تجعلني أحتاج إلى تحميل بعض البيانات في سجل XMM والتصرف بناءً عليه عدة مرات.عندما أنظر إلى كود المجمع الذي تم إنشاؤه، يبدو أن دول مجلس التعاون الخليجي تستمر في إعادة البيانات إلى الذاكرة، من أجل إعادة تحميل شيء آخر في XMM0 وXMM1.أقوم بالتجميع لـ x86-64 لذا لدي 15 سجلاً.لماذا يستخدم مجلس التعاون الخليجي اثنين فقط وما الذي يمكنني فعله لأطلب منه استخدام المزيد؟هل هناك أي طريقة يمكنني من خلالها "تثبيت" بعض القيمة في السجل؟لقد أضفت الكلمة الأساسية "تسجيل" إلى تعريف المتغير الخاص بي، لكن رمز التجميع الذي تم إنشاؤه متطابق.

هل كانت مفيدة؟

المحلول

نعم يمكنك ذلك. ريج فار صريح يتحدث عن بناء الجملة الذي تحتاجه لتثبيت متغير في سجل معين.

نصائح أخرى

إذا وصلت إلى النقطة التي تحدد فيها سجلات فردية لكل جوهري، فيمكنك أيضًا كتابة دليل التجميع، خاصة في ضوء العادة السيئة لدول مجلس التعاون الخليجي المتمثلة في التشاؤم الجوهري دون داع في كثير من الحالات.

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top