from charles add a lot of sse/vex instructions. give up on O vs DQ. move the M registers further off into the corner. Reference: /n/atom/patch/applied2013/libmach6cvex Date: Wed Jul 31 17:44:43 CES 2013 Signed-off-by: quanstro@quanstro.net --- /sys/src/libmach/6c/6.out.h Wed Jul 31 17:42:13 2013 +++ /sys/src/libmach/6c/6.out.h Wed Jul 31 17:42:14 2013 @@ -535,7 +535,7 @@ AFXSAVE, AFXSAVE64, ALDMXCSR, - AMASKMOVOU, + AMASKMOVDQU, AMASKMOVQ, AMAXPD, AMAXPS, @@ -547,7 +547,7 @@ AMINSS, AMOVAPD, AMOVAPS, - AMOVOU, + AMOVDQU, AMOVHLPS, AMOVHPD, AMOVHPS, @@ -556,7 +556,7 @@ AMOVLPS, AMOVMSKPD, AMOVMSKPS, - AMOVNTO, + AMOVNTDQ, AMOVNTPD, AMOVNTPS, AMOVNTQ, @@ -636,13 +636,13 @@ APSHUFL, APSHUFLW, APSHUFW, - APSLLO, + APSLLDQ, APSLLL, APSLLQ, APSLLW, APSRAL, APSRAW, - APSRLO, + APSRLDQ, APSRLL, APSRLQ, APSRLW, @@ -699,6 +699,119 @@ AMODE, + AMOVQQA, + AMOVQQU, + ABSWAPL, + ABSWAPQ, + + /* more sse/vex */ + AAESDEC, + AAESDECLAST, + AAESENC, + AAESENCLAST, + AAESIMC, + AAESKEYGENASSIST, + ABLENDPD, + ABLENDPS, + ABLENDVPD, + ABLENDVPS, + ACRC32L, + ADPPD, + ADPPS, + AEXTRACTPS, + AINSERTPS, + AMOVNTDQA, + AMPSADBW, + APABSB, + APABSL, + APABSW, + APACKUSDW, + APALIGNR, + APBLENDVB, + APBLENDW, + APCLMULHQHQDQ, + APCLMULHQLQDQ, + APCLMULLQHQDQ, + APCLMULLQLQDQ, + APCLMULQDQ, + APCMPEQQ, + APCMPESTRI, + APCMPESTRM, + APCMPGTQ, + APCMPISTRI, + APCMPISTRM, + APEXTRB, + APEXTRL, + APHADDL, + APHADDSW, + APHADDW, + APHMINPOSUW, + APHSUBL, + APHSUBSW, + APHSUBW, + APINSRB, + APINSRL, + APMADDUBSW, + APMAXSB, + APMAXSL, + APMAXUL, + APMAXUW, + APMINSB, + APMINSL, + APMINUL, + APMINUW, + APMOVSXBL, + APMOVSXBQ, + APMOVSXBW, + APMOVSXLQ, + APMOVSXWL, + APMOVSXWQ, + APMOVZXBL, + APMOVZXBQ, + APMOVZXBW, + APMOVZXLQ, + APMOVZXWL, + APMOVZXWQ, + APMULHRSW, + APMULLL, + APMULLQ, + APSHUFB, + APSIGNB, + APSIGNL, + APSIGNW, + APTEST, + AROUNDPD, + AROUNDPS, + AROUNDSD, + AROUNDSS, + AVBROADCASTF128, + AVBROADCASTSL, + AVBROADCASTSS, + AVMASKMOVPD, + AVMASKMOVPS, + AVPERMILPD, + AVPERMILPS, + AVTESTPD, + AVTESTPS, + AXSAVE, + AXSAVEOPT, + AXRSTOR, + ACRC32B, + ACRC32W, + ARDRANDW, + ARDRANDL, + ACRC32Q, + APEXTRQ, + APINSRQ, + ARDRANDQ, + AMOVDQA, + APOPCNTW, + APOPCNTL, + APOPCNTQ, + AMOVQL, + APAUSE, + ACMPXCHG16B, + ALAST }; @@ -744,11 +857,11 @@ D_DH, D_BH, - D_F0 = 36, - - D_M0 = 44, + D_Y0 = 36, + D_Y15 = D_Y0+15, D_X0 = 52, + D_X15 = D_X0+15, D_CS = 68, D_SS, @@ -783,6 +896,14 @@ D_FILE1, D_INDIR, /* additive */ + D_CONST2 = D_INDIR+D_INDIR, + D_SIZE, + + D_M0, + D_M7 = D_M0+7, + D_F0 = D_M0, + D_F7 = D_F0+7, + D_XREG, T_TYPE = 1<<0, T_INDEX = 1<<1, --- /sys/src/libmach/7.c Wed Jul 31 17:42:15 2013 +++ /sys/src/libmach/7.c Wed Jul 31 17:42:15 2013 @@ -2,6 +2,7 @@ * alpha definition */ #include +#include #include #include "/alpha/include/ureg.h" #include