diff options
| author | Keith Randall <khr@golang.org> | 2013-03-29 00:34:03 -0700 |
|---|---|---|
| committer | Keith Randall <khr@golang.org> | 2013-03-29 00:34:03 -0700 |
| commit | 871177df6ac09ebccb793138dc0b9ccd8fca8cec (patch) | |
| tree | 8eb8e284cdf8e20ebbdb48cfb825dd1e6e20e676 /src/cmd/8l | |
| parent | 47a54ab2ad7ab29bfdb92f4be282e6c6637578c1 (diff) | |
| download | go-871177df6ac09ebccb793138dc0b9ccd8fca8cec.tar.xz | |
8a/8l: add PCMPEQB and PMOVMSKB to 386.
Used by CL 8056043 for fast string equals.
R=bradfitz
CC=golang-dev
https://golang.org/cl/8102044
Diffstat (limited to 'src/cmd/8l')
| -rw-r--r-- | src/cmd/8l/8.out.h | 2 | ||||
| -rw-r--r-- | src/cmd/8l/optab.c | 8 |
2 files changed, 10 insertions, 0 deletions
diff --git a/src/cmd/8l/8.out.h b/src/cmd/8l/8.out.h index d647f28908..cf0bc9feed 100644 --- a/src/cmd/8l/8.out.h +++ b/src/cmd/8l/8.out.h @@ -534,10 +534,12 @@ enum as AORPS, APADDQ, APAND, + APCMPEQB, APMAXSW, APMAXUB, APMINSW, APMINUB, + APMOVMSKB, APSADBW, APSUBB, APSUBL, diff --git a/src/cmd/8l/optab.c b/src/cmd/8l/optab.c index a6ebf063e7..1d9d2f55f3 100644 --- a/src/cmd/8l/optab.c +++ b/src/cmd/8l/optab.c @@ -364,6 +364,12 @@ uchar ysvrs[] = Ym, Ynone, Zm_o, 2, 0 }; +uchar ymskb[] = +{ + Yxr, Yrl, Zm_r_xm, 2, + Ymr, Yrl, Zm_r_xm, 1, + 0 +}; uchar yxm[] = { Yxm, Yxr, Zm_r_xm, 1, @@ -950,10 +956,12 @@ Optab optab[] = { AORPS, yxm, Pm, 0x56 }, { APADDQ, yxm, Pe, 0xd4 }, { APAND, yxm, Pe, 0xdb }, + { APCMPEQB, yxmq, Pe ,0x74 }, { APMAXSW, yxm, Pe, 0xee }, { APMAXUB, yxm, Pe, 0xde }, { APMINSW, yxm, Pe, 0xea }, { APMINUB, yxm, Pe, 0xda }, + { APMOVMSKB, ymskb, Px, Pe,0xd7,0xd7 }, { APSADBW, yxm, Pq, 0xf6 }, { APSUBB, yxm, Pe, 0xf8 }, { APSUBL, yxm, Pe, 0xfa }, |
