مجموعه دستورهای ضرب بدون رقم نقلی

ضرب بدون رقم نقلی (CLMUL) یک مجموعه دستورالعمل به فرمت معماری x86 است که توسط ریزپردازنده‌های اینتل و AMD استفاده شده و توسط اینتل در مارس ۲۰۰۸ معرفی گردیده‌است و برای پردازنده‌های اینتل Westmere در اوایل سال ۲۰۱۰ در دسترس قرار گرفته‌است.

یکی از این دستورالعمل‌ها برای افزایش سرعت برنامه‌های کاربردی است که از رمزگذاری بلوک به بلوک در حالت Galois / Counter Mode استفاده می‌کنند، که به ضرب میدان محدود(GF (2 k وابستگی دارد و می‌تواند با استفاده از دستورالعمل‌های جدید ضرب بدون رقم نقلی نسبت به دستورالعمل‌های سنتی بهتر و پربازده تر پیاده‌سازی شوند. یکی دیگر از کارهایی که ممکن می‌سازد محاسبه سریع مقدار CRC است، این پیاده‌سازی تمام تابع‌های موجود در الگوریتم zlib و pngcrush در پنجره کشویی DEFLATE در LZ77 را نیز در بر می‌گیرد.

 دستورالعمل جدید 
دستورالعمل، مقدار ضرب ۱۲۸ بیتی بدون رقم نقلی دو مقدار ۶۴ بیتی را محاسبه می‌کند. مقصد یک رجیستر XMM که ۱۲۸ بیتی است، می‌باشد. منبع ممکن است یک رجیستر XMM دیگر یا حافظه باشد. یک عملگر عددی مشخص می‌کند که کدام بخش‌های ۱۲۸ بیتی عملیاتی شده‌اند. یک یادمان که مشخص کننده مقادیر عملگرهای عددی می‌باشد نیز تعریف می‌شود:
 دستورالعمل Opcode شرح PCLMULQDQ xmmreg,xmmrm,imm [rmi: 66 0f 3a 44 /r ib] انجام یک ضرب بدون کری برای دو چند جمله ای ۶۴ بیتی در حوزهٔ محدود (GF (2 k. PCLMULLQLQDQ xmmreg,xmmrm [rm:   66 0f 3a 44 /r 00] مقادیر نیمه پایین دو رجیستر را افزایش ضرب می‌کند. PCLMULHQLQDQ xmmreg,xmmrm [rm:   66 0f 3a 44 /r 01] نیمه بالا رجیستر مقصد را با نیمه پایین رجیستر مبدأ ضرب می‌کند. PCLMULLQHQDQ xmmreg,xmmrm [rm:   66 0f 3a 44 /r 10] نیمه پایین رجیستر مقصد را با نیمه بالا رجیستر مبدأ افزایش دهید. PCLMULHQHQDQ xmmreg,xmmrm [rm:   66 0f 3a 44 /r 11] نیمه‌های بالایی دو رجیستر را در هم ضرب می‌کند.

 CPUها با دستورالعمل CLMUL تنظیم شده‌است 
 اینتل
 پردازنده Westmere (مارس ۲۰۱۰).
 پردازنده Sandy Bridge
 پردازنده Ivy Bridge
 پردازنده Haswell
 پردازنده Broadwell (با افزایش کارایی و تأخیر کمتر)
 پردازنده Skylake
 پردازنده یاب Kaby
 پردازشگر دریاچه قهوه
 AMD:
 پردازنده‌های مبتنی بر Jaguar و جدیدتر
 پردازنده‌های مبتنی بر Puma و جدیدتر
 «تجهیزات سنگین» پردازنده
 پردازنده‌های مبتنی بر بولدوزر
 پردازنده‌های مبتنی بر Piledriver
 پردازنده‌های مبتنی بر Steamroller
 پردازنده‌های بر پایه بیل و جدیدتر
 پردازنده‌های مبتنی بر ذن
 پردازنده‌های مبتنی بر Zen +

حضور مجموعه دستورالعمل ضرب بدون رقم نقلی را می‌توان با آزمایش بیت‌های ویژگی‌های CPU بررسی کرد.

 جستارهای وابسته 
 محاسبه فیلد محدود
 دستورالعمل AES مجموعه
 مجموعه دستورالعمل FMA3
 دستورالعمل FMA4 تنظیم شده‌است
 مجموعه دستورات AVX

 منابع 

رده:دستورالعمل‌های اکس۸۶
رده:صفحات با ترجمه بازبینی‌نشده
رده:معماری اکس۸۶