From 9a0a59f171d0ae1defff35440c93e1a119289c29 Mon Sep 17 00:00:00 2001 From: Russ Cox Date: Mon, 12 Aug 2013 21:02:55 -0400 Subject: [PATCH] cmd/6g, cmd/8g: proginfo carry fixes Bugs pointed out by cshapiro in CL 12637051. R=cshapiro CC=golang-dev https://golang.org/cl/12815043 --- src/cmd/6g/prog.c | 24 ++++++++++++------------ src/cmd/8g/prog.c | 18 +++++++++--------- 2 files changed, 21 insertions(+), 21 deletions(-) diff --git a/src/cmd/6g/prog.c b/src/cmd/6g/prog.c index f3c4812654..b62dc63fe6 100644 --- a/src/cmd/6g/prog.c +++ b/src/cmd/6g/prog.c @@ -99,18 +99,18 @@ static ProgInfo progtable[ALAST] = { [ADECQ]= {SizeQ | RightRdwr}, [ADECW]= {SizeW | RightRdwr}, - [ADIVB]= {SizeB | LeftRead, AX, AX}, - [ADIVL]= {SizeL | LeftRead, AX|DX, AX|DX}, - [ADIVQ]= {SizeQ | LeftRead, AX|DX, AX|DX}, - [ADIVW]= {SizeW | LeftRead, AX|DX, AX|DX}, + [ADIVB]= {SizeB | LeftRead | SetCarry, AX, AX}, + [ADIVL]= {SizeL | LeftRead | SetCarry, AX|DX, AX|DX}, + [ADIVQ]= {SizeQ | LeftRead | SetCarry, AX|DX, AX|DX}, + [ADIVW]= {SizeW | LeftRead | SetCarry, AX|DX, AX|DX}, [ADIVSD]= {SizeD | LeftRead | RightRdwr}, [ADIVSS]= {SizeF | LeftRead | RightRdwr}, - [AIDIVB]= {SizeB | LeftRead, AX, AX}, - [AIDIVL]= {SizeL | LeftRead, AX|DX, AX|DX}, - [AIDIVQ]= {SizeQ | LeftRead, AX|DX, AX|DX}, - [AIDIVW]= {SizeW | LeftRead, AX|DX, AX|DX}, + [AIDIVB]= {SizeB | LeftRead | SetCarry, AX, AX}, + [AIDIVL]= {SizeL | LeftRead | SetCarry, AX|DX, AX|DX}, + [AIDIVQ]= {SizeQ | LeftRead | SetCarry, AX|DX, AX|DX}, + [AIDIVW]= {SizeW | LeftRead | SetCarry, AX|DX, AX|DX}, [AIMULB]= {SizeB | LeftRead | SetCarry, AX, AX}, [AIMULL]= {SizeL | LeftRead | ImulAXDX | SetCarry}, @@ -262,10 +262,10 @@ static ProgInfo progtable[ALAST] = { [ASUBSD]= {SizeD | LeftRead | RightRdwr}, [ASUBSS]= {SizeF | LeftRead | RightRdwr}, - [ATESTB]= {SizeB | LeftRead | RightRead}, - [ATESTL]= {SizeL | LeftRead | RightRead}, - [ATESTQ]= {SizeQ | LeftRead | RightRead}, - [ATESTW]= {SizeW | LeftRead | RightRead}, + [ATESTB]= {SizeB | LeftRead | RightRead | SetCarry}, + [ATESTL]= {SizeL | LeftRead | RightRead | SetCarry}, + [ATESTQ]= {SizeQ | LeftRead | RightRead | SetCarry}, + [ATESTW]= {SizeW | LeftRead | RightRead | SetCarry}, [AUCOMISD]= {SizeD | LeftRead | RightRead}, [AUCOMISS]= {SizeF | LeftRead | RightRead}, diff --git a/src/cmd/8g/prog.c b/src/cmd/8g/prog.c index ca877ad128..05d69853b2 100644 --- a/src/cmd/8g/prog.c +++ b/src/cmd/8g/prog.c @@ -87,9 +87,9 @@ static ProgInfo progtable[ALAST] = { [ADECL]= {SizeL | RightRdwr}, [ADECW]= {SizeW | RightRdwr}, - [ADIVB]= {SizeB | LeftRead, AX, AX}, - [ADIVL]= {SizeL | LeftRead, AX|DX, AX|DX}, - [ADIVW]= {SizeW | LeftRead, AX|DX, AX|DX}, + [ADIVB]= {SizeB | LeftRead | SetCarry, AX, AX}, + [ADIVL]= {SizeL | LeftRead | SetCarry, AX|DX, AX|DX}, + [ADIVW]= {SizeW | LeftRead | SetCarry, AX|DX, AX|DX}, [ADIVSD]= {SizeD | LeftRead | RightRdwr}, [ADIVSS]= {SizeF | LeftRead | RightRdwr}, @@ -137,9 +137,9 @@ static ProgInfo progtable[ALAST] = { [AFMULDP]= {SizeD | LeftAddr | RightRdwr}, [AFMULF]= {SizeF | LeftAddr | RightRdwr}, - [AIDIVB]= {SizeB | LeftRead, AX, AX}, - [AIDIVL]= {SizeL | LeftRead, AX|DX, AX|DX}, - [AIDIVW]= {SizeW | LeftRead, AX|DX, AX|DX}, + [AIDIVB]= {SizeB | LeftRead | SetCarry, AX, AX}, + [AIDIVL]= {SizeL | LeftRead | SetCarry, AX|DX, AX|DX}, + [AIDIVW]= {SizeW | LeftRead | SetCarry, AX|DX, AX|DX}, [AIMULB]= {SizeB | LeftRead | SetCarry, AX, AX}, [AIMULL]= {SizeL | LeftRead | ImulAXDX | SetCarry}, @@ -282,9 +282,9 @@ static ProgInfo progtable[ALAST] = { [ASUBSD]= {SizeD | LeftRead | RightRdwr}, [ASUBSS]= {SizeF | LeftRead | RightRdwr}, - [ATESTB]= {SizeB | LeftRead | RightRead}, - [ATESTL]= {SizeL | LeftRead | RightRead}, - [ATESTW]= {SizeW | LeftRead | RightRead}, + [ATESTB]= {SizeB | LeftRead | RightRead | SetCarry}, + [ATESTL]= {SizeL | LeftRead | RightRead | SetCarry}, + [ATESTW]= {SizeW | LeftRead | RightRead | SetCarry}, [AUCOMISD]= {SizeD | LeftRead | RightRead}, [AUCOMISS]= {SizeF | LeftRead | RightRead}, -- 2.48.1