From ed480128a6da8e65119738bf792f3fbe4af2e16f Mon Sep 17 00:00:00 2001 From: Russ Cox Date: Tue, 22 May 2012 00:12:58 -0400 Subject: [PATCH] cmd/6a, cmd/6l: add BSWAPL, BSWAPQ R=ken2 CC=golang-dev https://golang.org/cl/6209087 --- src/cmd/6a/lex.c | 2 ++ src/cmd/6l/6.out.h | 2 ++ src/cmd/6l/optab.c | 7 +++++++ 3 files changed, 11 insertions(+) diff --git a/src/cmd/6a/lex.c b/src/cmd/6a/lex.c index fc6bd36762..18a0667573 100644 --- a/src/cmd/6a/lex.c +++ b/src/cmd/6a/lex.c @@ -340,6 +340,8 @@ struct "BSRL", LTYPE3, ABSRL, "BSRQ", LTYPE3, ABSRQ, "BSRW", LTYPE3, ABSRW, + "BSWAPL", LTYPE1, ABSWAPL, + "BSWAPQ", LTYPE1, ABSWAPQ, "BTCL", LTYPE3, ABTCL, "BTCQ", LTYPE3, ABTCQ, "BTCW", LTYPE3, ABTCW, diff --git a/src/cmd/6l/6.out.h b/src/cmd/6l/6.out.h index 97f5fbf7bc..4271944ce4 100644 --- a/src/cmd/6l/6.out.h +++ b/src/cmd/6l/6.out.h @@ -743,6 +743,8 @@ enum as APREFETCHNTA, AMOVQL, + ABSWAPL, + ABSWAPQ, ALAST }; diff --git a/src/cmd/6l/optab.c b/src/cmd/6l/optab.c index 747e808339..3254c46527 100644 --- a/src/cmd/6l/optab.c +++ b/src/cmd/6l/optab.c @@ -302,6 +302,11 @@ uchar ypopl[] = Ynone, Ym, Zo_m, 2, 0 }; +uchar ybswap[] = +{ + Ynone, Yrl, Z_rp, 2, + 0, +}; uchar yscond[] = { Ynone, Ymb, Zo_m, 2, @@ -641,6 +646,8 @@ Optab optab[] = { ABSRL, yml_rl, Pm, 0xbd }, { ABSRQ, yml_rl, Pw, 0x0f,0xbd }, { ABSRW, yml_rl, Pq, 0xbd }, + { ABSWAPL, ybswap, Px, 0x0f,0xc8 }, + { ABSWAPQ, ybswap, Pw, 0x0f,0xc8 }, { ABTCL, ybtl, Pm, 0xba,(07),0xbb }, { ABTCQ, ybtl, Pw, 0x0f,0xba,(07),0x0f,0xbb }, { ABTCW, ybtl, Pq, 0xba,(07),0xbb }, -- 2.48.1