~ubuntu-branches/ubuntu/dapper/gimp/dapper

« back to all changes in this revision

Viewing changes to app/composite/gimp-composite-mmx.c

  • Committer: Bazaar Package Importer
  • Author(s): Daniel Holbach
  • Date: 2006-01-23 19:14:09 UTC
  • Revision ID: james.westby@ubuntu.com-20060123191409-h8cw20jkjilp1m79
Tags: 2.2.10-1ubuntu1
* Resynchronized with Debian (Malone: #27567)
* Only changes to Debian package are:
  - misc/gimp.desktop.in.in:
    - more translations.
  - skip the user installation dialog.

Show diffs side-by-side

added added

removed removed

Lines of Context:
93
93
  asm volatile ("movq    %0,%%mm0"
94
94
                : /* empty */
95
95
                : "m" (*rgba8_alpha_mask_64)
96
 
#ifdef __MMX__
97
 
                : "%mm0"
98
 
#endif
99
 
                );
 
96
                : "%mm0");
100
97
 
101
98
  for (; n_pixels >= 2; n_pixels -= 2)
102
99
    {
112
109
                    "\tmovq    %%mm1, %0\n"
113
110
                    : "=m" (*d)
114
111
                    : "m" (*a), "m" (*b)
115
 
#ifdef __MMX__
116
 
                    : "%mm0", "%mm1", "%mm2", "%mm3", "%mm4"
117
 
#endif
118
 
                    );
 
112
                    : "%mm0", "%mm1", "%mm2", "%mm3", "%mm4");
119
113
      a++;
120
114
      b++;
121
115
      d++;
135
129
                    "\tmovd    %%mm1, %0\n"
136
130
                    : "=m" (*d)
137
131
                    : "m" (*a), "m" (*b)
138
 
#ifdef __MMX__
139
 
                    : "%mm0", "%mm1", "%mm2", "%mm3", "%mm4"
140
 
#endif
141
 
                    );
 
132
                    : "%mm0", "%mm1", "%mm2", "%mm3", "%mm4");
142
133
    }
143
134
 
144
135
  asm("emms");
200
191
                    "\tmovq      %%mm7,%0\n"
201
192
                    : "=m" (*d)
202
193
                    : "m" (*a), "m" (*b), "m" (*rgba8_b255_64), "m" (*rgba8_w1_64), "m" (*rgba8_w255_64), "m" (*rgba8_alpha_mask_64)
203
 
                    : pdivwqX_clobber
204
 
#ifdef __MMX__
205
 
                    , "%mm0", "%mm1", "%mm2", "%mm3", "%mm4", "%mm5", "%mm6", "%mm7"
206
 
#endif
207
 
                    );
 
194
                    : pdivwqX_clobber, "%mm0", "%mm1", "%mm2", "%mm3", "%mm4", "%mm5", "%mm6", "%mm7");
208
195
      d++;
209
196
      b++;
210
197
      a++;
258
245
                    "\tmovd      %%mm7,%0\n"
259
246
                    : "=m" (*d)
260
247
                    : "m" (*a), "m" (*b), "m" (*rgba8_b255_64), "m" (*rgba8_w1_64), "m" (*rgba8_w255_64), "m" (*rgba8_alpha_mask_64)
261
 
                    : pdivwqX_clobber
262
 
#ifdef __MMX__
263
 
                    , "%mm0", "%mm1", "%mm2", "%mm3", "%mm4", "%mm5", "%mm6", "%mm7"
264
 
#endif
265
 
                    );
 
248
                    : pdivwqX_clobber, "%mm0", "%mm1", "%mm2", "%mm3", "%mm4", "%mm5", "%mm6", "%mm7");
266
249
    }
267
250
 
268
251
  asm("emms");
285
268
                    "\tmovq    %%mm2, %0\n"
286
269
                    : "=m" (*d)
287
270
                    : "m" (*a), "m" (*b)
288
 
#ifdef __MMX__
289
 
                    : "%mm1", "%mm2", "%mm3", "%mm4"
290
 
#endif
291
 
                    );
 
271
                    : "%mm1", "%mm2", "%mm3", "%mm4");
292
272
      a++;
293
273
      b++;
294
274
      d++;
302
282
                    "\tmovd    %%mm2, %0\n"
303
283
                    : "=m" (*d)
304
284
                    : "m" (*a), "m" (*b)
305
 
#ifdef __MMX__
306
 
                    : "%mm2", "%mm3", "%mm4"
307
 
#endif
308
 
                    );
 
285
                    : "%mm2", "%mm3", "%mm4");
309
286
    }
310
287
 
311
288
  asm("emms");
319
296
  uint64 *b = (uint64 *) _op->B;
320
297
  gulong n_pixels = _op->n_pixels;
321
298
 
322
 
  asm volatile ("movq    %0,%%mm0"
323
 
          :
324
 
          : "m" (*rgba8_alpha_mask_64)
325
 
#ifdef __MMX__
326
 
          : "%mm0"
327
 
#endif
328
 
          );
 
299
  asm volatile ("movq    %0,%%mm0"     :  : "m" (*rgba8_alpha_mask_64) : "%mm0");
329
300
 
330
301
  for (; n_pixels >= 2; n_pixels -= 2)
331
302
    {
344
315
                    "\tmovq    %%mm1, %0\n"
345
316
                    : "=m" (*d)
346
317
                    : "m" (*a), "m" (*b)
347
 
#ifdef __MMX__
348
 
                    : "%mm1", "%mm2", "%mm3", "%mm4"
349
 
#endif
350
 
                    );
 
318
                    : "%mm1", "%mm2", "%mm3", "%mm4");
351
319
      a++;
352
320
      b++;
353
321
      d++;
370
338
                    "\tmovd    %%mm1, %0\n"
371
339
                    : "=m" (*d)
372
340
                    : "m" (*a), "m" (*b)
373
 
#ifdef __MMX__
374
 
                    : "%mm1", "%mm2", "%mm3", "%mm4"
375
 
#endif
376
 
                    );
 
341
                    : "%mm1", "%mm2", "%mm3", "%mm4");
377
342
    }
378
343
 
379
344
  asm("emms");
392
357
                "\tmovq    %1, %%mm7\n"
393
358
                :
394
359
                : "m" (*rgba8_alpha_mask_64), "m" (*rgba8_w1_64)
395
 
#ifdef __MMX__
396
 
                : "%mm0", "%mm7"
397
 
#endif
398
 
                );
 
360
                : "%mm0", "%mm7");
399
361
 
400
362
  for (; n_pixels >= 2; n_pixels -= 2)
401
363
    {
435
397
                    "\tmovq      %%mm3,%0\n"
436
398
                    : "=m" (*d)
437
399
                    : "m" (*a), "m" (*b), "m" (*rgba8_alpha_mask_64)
438
 
                    : pdivwuqX_clobber
439
 
#ifdef __MMX__
440
 
                    , "%mm1", "%mm2", "%mm3", "%mm4", "%mm5"
441
 
#endif
442
 
                    );
 
400
                    : pdivwuqX_clobber, "%mm1", "%mm2", "%mm3", "%mm4", "%mm5");
443
401
      a++;
444
402
      b++;
445
403
      d++;
483
441
                    "\tmovd      %%mm3,%0\n"
484
442
                    : "=m" (*d)
485
443
                    : "m" (*a), "m" (*b), "m" (*rgba8_alpha_mask_64)
486
 
                    : pdivwuqX_clobber
487
 
#ifdef __MMX__
488
 
                    , "%mm1", "%mm2", "%mm3", "%mm4", "%mm5"
489
 
#endif
490
 
                    );
 
444
                    : pdivwuqX_clobber, "%mm1", "%mm2", "%mm3", "%mm4", "%mm5");
491
445
    }
492
446
 
493
447
  asm("emms");
540
494
                    "\tmovq      %%mm7,%0\n"
541
495
                    : "=m" (*d)
542
496
                    : "m" (*a), "m" (*b), "m" (*rgba8_w256_64), "m" (*rgba8_alpha_mask_64)
543
 
                    : pdivwuqX_clobber
544
 
#ifdef __MMX__
545
 
                    , "%mm0", "%mm1", "%mm2", "%mm3", "%mm4", "%mm5", "%mm6", "%mm7"
546
 
#endif
547
 
                    );
 
497
                    : pdivwuqX_clobber, "%mm0", "%mm1", "%mm2", "%mm3", "%mm4", "%mm5", "%mm6", "%mm7");
548
498
      a++;
549
499
      b++;
550
500
      d++;
587
537
                    "\tmovd      %%mm7,%2\n"
588
538
                    : /* empty */
589
539
                    : "m" (*a), "m" (*b), "m" (*d), "m" (*rgba8_w256_64), "m" (*rgba8_alpha_mask_64)
590
 
                    : pdivwuqX_clobber
591
 
#ifdef __MMX__
592
 
                    , "%mm1", "%mm2", "%mm3", "%mm4", "%mm5"
593
 
#endif
594
 
                    );
 
540
                    : pdivwuqX_clobber, "%mm1", "%mm2", "%mm3", "%mm4", "%mm5");
595
541
    }
596
542
 
597
543
  asm("emms");
611
557
                "movq       %1,%%mm7\n"
612
558
                : /* no outputs */
613
559
                : "m" (*rgba8_alpha_mask_64), "m" (*rgba8_w128_64)
614
 
#ifdef __MMX__
615
 
                : "%mm0",  "%mm7", "%mm6"
616
 
#endif
617
 
                );
 
560
                : "%mm0",  "%mm7", "%mm6");
618
561
 
619
562
  for (; n_pixels >= 2; n_pixels -= 2)
620
563
    {
645
588
                    "\tmovq      %%mm1,%0\n"
646
589
                    : "=m" (*d)
647
590
                    : "m" (*a), "m" (*b)
648
 
#ifdef __MMX__
649
 
                    : "%mm1", "%mm2", "%mm3", "%mm4"
650
 
#endif
651
 
                    );
 
591
                    : "%mm1", "%mm2", "%mm3", "%mm4");
652
592
      a++;
653
593
      b++;
654
594
      d++;
679
619
                    "\tmovd      %%mm1, %0\n"
680
620
                    : "=m" (*d)
681
621
                    : "m" (*a), "m" (*b)
682
 
#ifdef __MMX__
683
 
                    : "%mm1", "%mm2", "%mm3", "%mm4"
684
 
#endif
685
 
                    );
 
622
                    : "%mm1", "%mm2", "%mm3", "%mm4");
686
623
    }
687
624
 
688
625
  asm("emms");
701
638
                "movq    %1, %%mm7\n"
702
639
                : /* empty */
703
640
                : "m" (*rgba8_alpha_mask_64), "m" (*rgba8_w128_64)
704
 
#ifdef __MMX__
705
 
                : "%mm0", "%mm6", "%mm7"
706
 
#endif
707
 
                );
 
641
                : "%mm0", "%mm6", "%mm7");
708
642
 
709
643
  for (; n_pixels >= 2; n_pixels -= 2)
710
644
    {
732
666
                    "\tmovq      %%mm1, %0\n"
733
667
                    : "=m" (*d)
734
668
                    : "m" (*a), "m" (*b)
735
 
#ifdef __MMX__
736
 
                    : "%mm1", "%mm2", "%mm3", "%mm4"
737
 
#endif
738
 
                    );
 
669
                    : "%mm1", "%mm2", "%mm3", "%mm4");
739
670
      a++;
740
671
      b++;
741
672
      d++;
765
696
                    "\tmovd      %%mm1, %0\n"
766
697
                    : "=m" (*d)
767
698
                    : "m" (*a), "m" (*b)
768
 
#ifdef __MMX__
769
 
                    : "%mm1", "%mm2", "%mm3", "%mm4"
770
 
#endif
771
 
                    );
 
699
                    : "%mm1", "%mm2", "%mm3", "%mm4");
772
700
    }
773
701
 
774
702
  asm("emms");
782
710
  uint64 *b = (uint64 *) _op->B;
783
711
  gulong n_pixels = _op->n_pixels;
784
712
 
785
 
  asm volatile ("movq    %0,%%mm0"
786
 
          :
787
 
          : "m" (*rgba8_alpha_mask_64)
788
 
#ifdef __MMX__
789
 
          : "%mm0"
790
 
#endif
791
 
          );
 
713
  asm volatile ("movq    %0,%%mm0"     :  : "m" (*rgba8_alpha_mask_64) : "%mm0");
792
714
 
793
715
  for (; n_pixels >= 2; n_pixels -= 2)
794
716
    {
804
726
                    "\tmovq    %%mm1, %0\n"
805
727
                    : "=m" (*d)
806
728
                    : "m" (*a), "m" (*b)
807
 
#ifdef __MMX__
808
 
                    : "%mm1", "%mm2", "%mm3", "%mm4", "%mm5"
809
 
#endif
810
 
                    );
 
729
                    : "%mm1", "%mm2", "%mm3", "%mm4", "%mm5");
811
730
      a++;
812
731
      b++;
813
732
      d++;
830
749
                    "\tmovd    %%mm1, %0\n"
831
750
                    : "=m" (*d)
832
751
                    : "m" (*a), "m" (*b)
833
 
#ifdef __MMX__
834
 
                    : "%mm1", "%mm2", "%mm3", "%mm4", "%mm5"
835
 
#endif
836
 
                    );
 
752
                    : "%mm1", "%mm2", "%mm3", "%mm4", "%mm5");
837
753
    }
838
754
 
839
755
  asm("emms");
853
769
                "pxor    %%mm6,%%mm6\n"
854
770
                : /* empty */
855
771
                : "m" (*rgba8_alpha_mask_64), "m" (*rgba8_w128_64)
856
 
#ifdef __MMX__
857
 
                : "%mm6", "%mm7", "%mm0"
858
 
#endif
859
 
                );
 
772
                : "%mm6", "%mm7", "%mm0");
860
773
 
861
774
  for (; n_pixels >= 2; n_pixels -= 2)
862
775
    {
883
796
                    "\tmovq      %%mm1, %0\n"
884
797
                    : "=m" (*d)
885
798
                    : "m" (*a), "m" (*b)
886
 
#ifdef __MMX__
887
 
                    : "%mm1", "%mm2", "%mm3", "%mm4", "%mm5"
888
 
#endif
889
 
                    );
 
799
                    : "%mm1", "%mm2", "%mm3", "%mm4", "%mm5");
890
800
      a++;
891
801
      b++;
892
802
      d++;
913
823
                    "\tmovd    %%mm1, %0\n"
914
824
                    : "=m" (*d)
915
825
                    : "m" (*a), "m" (*b)
916
 
#ifdef __MMX__
917
 
                    : "%mm1", "%mm2", "%mm3", "%mm4", "%mm5"
918
 
#endif
919
 
                    );
 
826
                    : "%mm1", "%mm2", "%mm3", "%mm4", "%mm5");
920
827
  }
921
828
 
922
829
  asm("emms");
984
891
  asm volatile ("pxor    %%mm0,%%mm0\n"
985
892
                "movq       %0,%%mm7"
986
893
                : /* empty */
987
 
                : "m" (*rgba8_w128_64)
988
 
#ifdef __MMX__
989
 
                : "%mm0"
990
 
#endif
991
 
                );
 
894
                : "m" (*rgba8_w128_64) : "%mm0");
992
895
 
993
896
  for (; n_pixels >= 2; n_pixels -= 2)
994
897
    {
1039
942
                    "\tmovq      %%mm1,%2\n"
1040
943
                    : "+m" (*a), "+m" (*b), "+m" (*d)
1041
944
                    : "m" (*rgba8_w2_64), "m" (*rgba8_alpha_mask_64)
1042
 
#ifdef __MMX__
1043
 
                    : "%mm1", "%mm2", "%mm3", "%mm4"
1044
 
#endif
1045
 
                    );
 
945
                    : "%mm1", "%mm2", "%mm3", "%mm4");
1046
946
      a++;
1047
947
      b++;
1048
948
      d++;
1097
997
                    "\tmovd      %%mm1,%0\n"
1098
998
                    : "=m" (*d)
1099
999
                    : "m" (*a), "m" (*b), "m" (*rgba8_w2_64), "m" (*rgba8_alpha_mask_64)
1100
 
#ifdef __MMX__
1101
 
                    : "%mm1", "%mm2", "%mm3", "%mm4"
1102
 
#endif
1103
 
                    );
 
1000
                    : "%mm1", "%mm2", "%mm3", "%mm4");
1104
1001
    }
1105
1002
 
1106
1003
  asm("emms");
1126
1023
                "\tmovq     %1,%%mm7\n"
1127
1024
                : /* empty */
1128
1025
                : "m" (_op->scale.scale), "m" (*rgba8_w128_64)
1129
 
                : "%eax", "%ebx"
1130
 
#ifdef __MMX__
1131
 
                , "%mm0", "%mm5", "%mm6", "%mm7"
1132
 
#endif
1133
 
                );
 
1026
                : "%eax", "%ebx", "%mm0", "%mm5", "%mm6", "%mm7");
1134
1027
 
1135
1028
  for (; n_pixels >= 2; n_pixels -= 2)
1136
1029
    {
1152
1045
                    "\tmovq      %%mm1,%0\n"
1153
1046
                    : "=m" (*d)
1154
1047
                    : "m" (*a)
1155
 
#ifdef __MMX__
1156
 
                    : "%mm1", "%mm2", "%mm3", "%mm4", "%mm5", "%mm6", "%mm7"
1157
 
#endif
1158
 
                    );
 
1048
                    : "%mm1", "%mm2", "%mm3", "%mm4", "%mm5", "%mm6", "%mm7");
1159
1049
      a++;
1160
1050
      d++;
1161
1051
    }
1173
1063
                    "\tmovd      %%mm1,%0\n"
1174
1064
                    : "=m" (*d)
1175
1065
                    : "m" (*a)
1176
 
#ifdef __MMX__
1177
 
                    : "%mm1", "%mm2", "%mm3", "%mm4", "%mm5", "%mm6", "%mm7"
1178
 
#endif
1179
 
                    );
 
1066
                    : "%mm1", "%mm2", "%mm3", "%mm4", "%mm5", "%mm6", "%mm7");
1180
1067
  }
1181
1068
 
1182
1069
  asm("emms");
1195
1082
                "movq       %1,%%mm7\n"
1196
1083
                : /* empty */
1197
1084
                : "m" (*rgba8_alpha_mask_64), "m" (*rgba8_w128_64)
1198
 
#ifdef __MMX__
1199
 
                : "%mm0", "%mm6", "%mm7"
1200
 
#endif
1201
 
                );
 
1085
                : "%mm0", "%mm6", "%mm7");
1202
1086
 
1203
1087
  for (; n_pixels >= 2; n_pixels -= 2)
1204
1088
    {
1249
1133
                    "\tmovq      %%mm1,%0\n"
1250
1134
                    : "=m" (*d)
1251
1135
                    : "m" (*a), "m" (*b)
1252
 
#ifdef __MMX__
1253
 
                    : "%mm1", "%mm2", "%mm3", "%mm4", "%mm5"
1254
 
#endif
1255
 
                    );
 
1136
                    : "%mm1", "%mm2", "%mm3", "%mm4", "%mm5");
1256
1137
      a++;
1257
1138
      b++;
1258
1139
      d++;
1307
1188
                    "\tmovd      %%mm1,%0\n"
1308
1189
                    : "=m" (*d)
1309
1190
                    : "m" (*a), "m" (*b)
1310
 
#ifdef __MMX__
1311
 
                    : "%mm1", "%mm2", "%mm3", "%mm4", "%mm5"
1312
 
#endif
1313
 
                    );
 
1191
                    : "%mm1", "%mm2", "%mm3", "%mm4", "%mm5");
1314
1192
    }
1315
1193
 
1316
1194
  asm volatile ("emms");
1325
1203
  uint64 *b = (uint64 *) _op->B;
1326
1204
  gulong n_pixels = _op->n_pixels;
1327
1205
 
1328
 
  asm volatile ("movq    %0,%%mm0"
1329
 
          :
1330
 
          : "m" (*rgba8_alpha_mask_64)
1331
 
#ifdef __MMX__
1332
 
          : "%mm0"
1333
 
#endif
1334
 
          );
 
1206
  asm volatile ("movq    %0,%%mm0"     :  : "m" (*rgba8_alpha_mask_64) : "%mm0");
1335
1207
 
1336
1208
  for (; n_pixels >= 2; n_pixels -= 2)
1337
1209
    {
1351
1223
                    "\tmovq    %%mm1,%0\n"
1352
1224
                    : "=m" (*d)
1353
1225
                    : "m" (*a), "m" (*b)
1354
 
#ifdef __MMX__
1355
 
                    : "%mm1", "%mm2", "%mm3", "%mm4", "%mm5"
1356
 
#endif
1357
 
                    );
 
1226
                    : "%mm1", "%mm2", "%mm3", "%mm4", "%mm5");
1358
1227
      a++;
1359
1228
      b++;
1360
1229
      d++;
1378
1247
                    "\tmovd    %%mm1,%0\n"
1379
1248
                    : "=m" (*d)
1380
1249
                    : "m" (*a), "m" (*b)
1381
 
#ifdef __MMX__
1382
 
                    : "%mm1", "%mm2", "%mm3", "%mm4", "%mm5"
1383
 
#endif
1384
 
                    );
 
1250
                    : "%mm1", "%mm2", "%mm3", "%mm4", "%mm5");
1385
1251
    }
1386
1252
 
1387
1253
  asm volatile ("emms");
1401
1267
                    "\tmovq    %%mm3,%0\n"
1402
1268
                    "\tmovq    %%mm2,%1\n"
1403
1269
                    : "+m" (*a), "+m" (*b)
1404
 
#ifdef __MMX__
1405
1270
                    : 
1406
 
                    : "%mm1", "%mm2", "%mm3", "%mm4"
1407
 
#endif
1408
 
                    );
 
1271
                    : "%mm1", "%mm2", "%mm3", "%mm4");
1409
1272
      a++;
1410
1273
      b++;
1411
1274
    }
1417
1280
                    "\tmovd    %%mm3,%0\n"
1418
1281
                    "\tmovd    %%mm2,%1\n"
1419
1282
                    : "+m" (*a), "+m" (*b)
1420
 
#ifdef __MMX__
1421
1283
                    :
1422
 
                    : "%mm1", "%mm2", "%mm3", "%mm4"
1423
 
#endif
1424
 
                    );
 
1284
                    : "%mm1", "%mm2", "%mm3", "%mm4");
1425
1285
    }
1426
1286
 
1427
1287
  asm("emms");
1440
1300
  asm volatile ("movq    %0,%%mm0"
1441
1301
                : 
1442
1302
                : "m" (*va8_alpha_mask_64)
1443
 
#ifdef __MMX__
1444
 
                : "%mm0"
1445
 
#endif
1446
 
                );
 
1303
                : "%mm0");
1447
1304
 
1448
1305
  for (; n_pixels >= 4; n_pixels -= 4)
1449
1306
    {
1463
1320
#endif
1464
1321
                    : "=m" (*d)
1465
1322
                    : "m" (*a), "m" (*b)
1466
 
#ifdef __MMX__
1467
 
                    : "%mm0", "%mm1", "%mm2", "%mm3", "%mm4"
1468
 
#endif
1469
 
                    );
 
1323
                    : "%mm0", "%mm1", "%mm2", "%mm3", "%mm4");
1470
1324
      a++;
1471
1325
      b++;
1472
1326
      d++;
1490
1344
                    "\tmovd    %%mm1, %0\n"
1491
1345
                    : "=m" (*d32)
1492
1346
                    : "m" (*a32), "m" (*b32)
1493
 
#ifdef __MMX__
1494
 
                    : "%mm0", "%mm1", "%mm2", "%mm3", "%mm4"
1495
 
#endif
1496
 
                    );
 
1347
                    : "%mm0", "%mm1", "%mm2", "%mm3", "%mm4");
1497
1348
      a32++;
1498
1349
      b32++;
1499
1350
      d32++;
1518
1369
                    "\tmovw    %%ax, %0\n"
1519
1370
                    : "=m" (*d16)
1520
1371
                    : "m" (*a16), "m" (*b16)
1521
 
                    : "%eax"
1522
 
#ifdef __MMX__
1523
 
                    , "%mm0", "%mm1", "%mm2", "%mm3", "%mm4"
1524
 
#endif
1525
 
                    );
 
1372
                    : "%eax", "%mm0", "%mm1", "%mm2", "%mm3", "%mm4");
1526
1373
 
1527
1374
      a16++;
1528
1375
      b16++;
1542
1389
  asm("movq   %0,%%mm1"
1543
1390
      :
1544
1391
      : "m" (*va8_alpha_mask)
1545
 
#ifdef __MMX__
1546
 
      : "%mm1"
1547
 
#endif
1548
 
      );
 
1392
      : "%mm1");
1549
1393
 
1550
1394
  for (; op.n_pixels >= 4; op.n_pixels -= 4)
1551
1395
    {
1595
1439
                  "\tmovq      %%mm7,%2\n"
1596
1440
                  : /* empty */
1597
1441
                  : "+m" (*op.A), "+m" (*op.B), "+m" (*op.D), "m" (*va8_b255), "m" (*va8_w1), "m" (*va8_w255_64), "m" (*va8_alpha_mask)
1598
 
#ifdef __MMX__
1599
 
                  : "%mm1", "%mm2", "%mm3", "%mm4"
1600
 
#endif
1601
 
                  );
 
1442
                  : "%mm1", "%mm2", "%mm3", "%mm4");
1602
1443
      op.A += 8;
1603
1444
      op.B += 8;
1604
1445
      op.D += 8;
1651
1492
                  "\tmovd      %%mm7,%2\n"
1652
1493
                  : /* empty */
1653
1494
                  : "m" (*op.A), "m" (*op.B), "m" (*op.D), "m" (*va8_b255), "m" (*va8_w1), "m" (*va8_w255_64), "m" (*va8_alpha_mask)
1654
 
#ifdef __MMX__
1655
 
                  : "%mm0", "%mm1", "%mm2", "%mm3", "%mm4", "%mm5", "%mm6", "%mm7"
1656
 
#endif
1657
 
                  );
 
1495
                  : "%mm0", "%mm1", "%mm2", "%mm3", "%mm4", "%mm5", "%mm6", "%mm7");
1658
1496
  }
1659
1497
 
1660
1498
  asm("emms");