@@ -1180,46 +1180,46 @@ __emu_mm256_test_impl( __emu_mm, nzc, ps, ps, __emu__m256 );
11801180({ \
11811181 __m128 res_ = (m1), m2_ = (m2); \
11821182 if ( 7 < (unsigned)predicate ) __asm__ __volatile__ ( "ud2" : : : "memory" ); \
1183- __asm__ ( "cmpps %[pred_], %[m2_], %[res_]" : [res_] "+x" (res_) : [m2_] "x " (m2_), [pred_] "i" (predicate) ); \
1183+ __asm__ ( "cmpps %[pred_], %[m2_], %[res_]" : [res_] "+x" (res_) : [m2_] "xm " (m2_), [pred_] "i" (predicate) ); \
11841184 res_; })
11851185
11861186#define __emu_mm256_cmp_ps (m1 , m2 , predicate ) \
11871187({ \
11881188 __emu__m256 res_ = (m1), m2_ = (m2); \
11891189 if ( 7 < (unsigned)predicate ) __asm__ __volatile__ ( "ud2" : : : "memory" ); /* not supported yet */ \
1190- __asm__ ( "cmpps %[pred_], %[m2_], %[res_]" : [res_ ] "+x" (res_ .__emu_m128 [0 ]) : [m2_ ] "x " (m2_ .__emu_m128 [0 ]), [pred_ ] "i" (predicate ) ); \
1191- __asm__ ( "cmpps %[pred_], %[m2_], %[res_]" : [res_ ] "+x" (res_ .__emu_m128 [1 ]) : [m2_ ] "x " (m2_ .__emu_m128 [1 ]), [pred_ ] "i" (predicate ) ); \
1190+ __asm__ ( "cmpps %[pred_], %[m2_], %[res_]" : [res_ ] "+x" (res_ .__emu_m128 [0 ]) : [m2_ ] "xm " (m2_ .__emu_m128 [0 ]), [pred_ ] "i" (predicate ) ); \
1191+ __asm__ ( "cmpps %[pred_], %[m2_], %[res_]" : [res_ ] "+x" (res_ .__emu_m128 [1 ]) : [m2_ ] "xm " (m2_ .__emu_m128 [1 ]), [pred_ ] "i" (predicate ) ); \
11921192 res_ ; })
11931193
11941194
11951195#define __emu_mm_cmp_pd (m1 , m2 , predicate ) \
11961196({ \
11971197 __m128d res_ = (m1), m2_ = (m2); \
11981198 if ( 7 < (unsigned)predicate ) __asm__ __volatile__ ( "ud2" : : : "memory" ); /* not supported yet */ \
1199- __asm__ ( "cmppd %[pred_], %[m2_], %[res_]" : [res_ ] "+x" (res_ ) : [m2_ ] "x " (m2_ ), [pred_ ] "i" (predicate ) ); \
1199+ __asm__ ( "cmppd %[pred_], %[m2_], %[res_]" : [res_ ] "+x" (res_ ) : [m2_ ] "xm " (m2_ ), [pred_ ] "i" (predicate ) ); \
12001200 res_ ; })
12011201
12021202#define __emu_mm256_cmp_pd (m1 , m2 , predicate ) \
12031203({ \
12041204 __emu__m256d res_ = (m1), m2_ = (m2); \
12051205 if ( 7 < (unsigned)predicate ) __asm__ __volatile__ ( "ud2" : : : "memory" ); /* not supported yet */ \
1206- __asm__ ( "cmppd %[pred_], %[m2_], %[res_]" : [res_ ] "+x" (res_ .__emu_m128 [0 ]) : [m2_ ] "x " (m2_ .__emu_m128 [0 ]), [pred_ ] "i" (predicate ) ); \
1207- __asm__ ( "cmppd %[pred_], %[m2_], %[res_]" : [res_ ] "+x" (res_ .__emu_m128 [1 ]) : [m2_ ] "x " (m2_ .__emu_m128 [1 ]), [pred_ ] "i" (predicate ) ); \
1206+ __asm__ ( "cmppd %[pred_], %[m2_], %[res_]" : [res_ ] "+x" (res_ .__emu_m128 [0 ]) : [m2_ ] "xm " (m2_ .__emu_m128 [0 ]), [pred_ ] "i" (predicate ) ); \
1207+ __asm__ ( "cmppd %[pred_], %[m2_], %[res_]" : [res_ ] "+x" (res_ .__emu_m128 [1 ]) : [m2_ ] "xm " (m2_ .__emu_m128 [1 ]), [pred_ ] "i" (predicate ) ); \
12081208 res_ ; })
12091209
12101210
12111211#define __emu_mm_cmp_ss (m1 , m2 , predicate ) \
12121212({ \
12131213 __m128 res_ = (m1), m2_ = (m2); \
12141214 if ( 7 < (unsigned)predicate ) __asm__ __volatile__ ( "ud2" : : : "memory" ); /* not supported yet */ \
1215- __asm__ ( "cmpss %[pred_], %[m2_], %[res_]" : [res_ ] "+x" (res_ ) : [m2_ ] "x " (m2_ ), [pred_ ] "i" (predicate ) ); \
1215+ __asm__ ( "cmpss %[pred_], %[m2_], %[res_]" : [res_ ] "+x" (res_ ) : [m2_ ] "xm " (m2_ ), [pred_ ] "i" (predicate ) ); \
12161216 res_ ; })
12171217
12181218#define __emu_mm_cmp_sd (m1 , m2 , predicate ) \
12191219({ \
12201220 __m128 res_ = (m1), m2_ = (m2); \
12211221 if ( 7 < (unsigned)predicate ) __asm__ __volatile__ ( "ud2" : : : "memory" ); /* not supported yet */ \
1222- __asm__ ( "cmpsd %[pred_], %[m2_], %[res_]" : [res_ ] "+x" (res_ ) : [m2_ ] "x " (m2_ ), [pred_ ] "i" (predicate ) ); \
1222+ __asm__ ( "cmpsd %[pred_], %[m2_], %[res_]" : [res_ ] "+x" (res_ ) : [m2_ ] "xm " (m2_ ), [pred_ ] "i" (predicate ) ); \
12231223 res_ ; })
12241224
12251225
@@ -1233,7 +1233,7 @@ static __emu_inline __m128 __emu_mm_cmp_ps(__m128 m1, __m128 m2, const int predi
12331233
12341234 if (__builtin_constant_p (predicate ) && predicate >= 0 && predicate <= 7 ) {
12351235 res = m1 ;
1236- __asm__ ( "cmpps %[pred_], %[m2_], %[res_]" : [res_ ] "+x" (res ) : [m2_ ] "x " (m2 ), [pred_ ] "i" (predicate ) );
1236+ __asm__ ( "cmpps %[pred_], %[m2_], %[res_]" : [res_ ] "+x" (res ) : [m2_ ] "xm " (m2 ), [pred_ ] "i" (predicate ) );
12371237 } else {
12381238 res = _mm_setzero_ps ();
12391239 __asm__ __volatile__ ( "ud2" : : : "memory" ); /* not supported yet */
@@ -1249,7 +1249,7 @@ static __emu_inline __m128d __emu_mm_cmp_pd(__m128d m1, __m128d m2, const int pr
12491249
12501250 if ( predicate >= 0 && predicate <= 7 ) {
12511251 res = m1 ;
1252- __asm__ ( "cmppd %[pred_], %[m2_], %[res_]" : [res_ ] "+x" (res ) : [m2_ ] "x " (m2 ), [pred_ ] "i" (predicate ) );
1252+ __asm__ ( "cmppd %[pred_], %[m2_], %[res_]" : [res_ ] "+x" (res ) : [m2_ ] "xm " (m2 ), [pred_ ] "i" (predicate ) );
12531253 } else {
12541254 __asm__ __volatile__ ( "ud2" : : : "memory" ); /* not supported yet */
12551255 }
@@ -1265,7 +1265,7 @@ static __emu_inline __m128d __emu_mm_cmp_sd(__m128d m1, __m128d m2, const int pr
12651265
12661266 if ( predicate >= 0 && predicate <= 7 ) {
12671267 res = m1 ;
1268- __asm__ ( "cmpsd %[pred_], %[m2_], %[res_]" : [res_ ] "+x" (res ) : [m2_ ] "x " (m2 ), [pred_ ] "i" (predicate ) );
1268+ __asm__ ( "cmpsd %[pred_], %[m2_], %[res_]" : [res_ ] "+x" (res ) : [m2_ ] "xm " (m2 ), [pred_ ] "i" (predicate ) );
12691269 } else {
12701270 __asm__ __volatile__ ( "ud2" : : : "memory" ); /* not supported yet */
12711271 }
@@ -1279,7 +1279,7 @@ static __emu_inline __m128 __emu_mm_cmp_ss(__m128 m1, __m128 m2, const int predi
12791279
12801280 if ( predicate >= 0 && predicate <= 7 ) {
12811281 res = m1 ;
1282- __asm__ ( "cmpss %[pred_], %[m2_], %[res_]" : [res_ ] "+x" (res ) : [m2_ ] "x " (m2 ), [pred_ ] "i" (predicate ) );
1282+ __asm__ ( "cmpss %[pred_], %[m2_], %[res_]" : [res_ ] "+x" (res ) : [m2_ ] "xm " (m2 ), [pred_ ] "i" (predicate ) );
12831283 } else {
12841284 __asm__ __volatile__ ( "ud2" : : : "memory" ); /* not supported yet */
12851285 }
0 commit comments