Tôi có bộ xử lý Xeon W3550 được cho là có hỗ trợ cho bộ lệnh SSE4.2 nhưng khi tôi thử và sử dụng bất kỳ thứ gì trong quá trình SSE2 trong chương trình c của mình, tôi nhận được lỗi trình biên dịch.Không thể sử dụng SSSE3 trên cpu được kích hoạt
#error "SSE4.2 instruction set not enabled"
Khi tôi sử dụng
$cat /procs/cpuinfo
nó phát hiện tất cả các bộ giảng dạy SSE có liên quan nhưng
$cpuid
chỉ phát hiện SSE và SSE2.
Hệ điều hành của tôi là ubuntu 11.04 với hạt nhân 2.6.38-11-chung.
Bất kỳ ý tưởng nào về cách sửa lỗi này? Cảm ơn.
CHỈNH SỬA: Bản cập nhật dựa trên nhận xét của Steve-o bên dưới. Các tệp tiêu đề < * mmintrin.h> thực hiện kiểm tra phiên bản sse mà chúng được liên kết với bằng cách sử dụng chỉ thị tiền xử lý #ifndef ví dụ:
#ifndef __SSSE3__
#error "SSSE3 instruction set not enabled".
Vì vậy, tôi đoán câu hỏi là tại sao điều này trở lại sai mặc dù CPU đang được kích hoạt SSSE3.
Âm thanh như một giới hạn GCC, biên soạn các hướng dẫn không chỉ giới hạn cho nền tảng máy chủ hoặc kiến trúc. Bạn sẽ chỉ nhận thấy giới hạn bộ xử lý khi chạy, với lỗi seg hoặc tương tự. –