Commit 9a0a59f1 authored by Russ Cox's avatar Russ Cox

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
parent b3b87143
...@@ -99,18 +99,18 @@ static ProgInfo progtable[ALAST] = { ...@@ -99,18 +99,18 @@ static ProgInfo progtable[ALAST] = {
[ADECQ]= {SizeQ | RightRdwr}, [ADECQ]= {SizeQ | RightRdwr},
[ADECW]= {SizeW | RightRdwr}, [ADECW]= {SizeW | RightRdwr},
[ADIVB]= {SizeB | LeftRead, AX, AX}, [ADIVB]= {SizeB | LeftRead | SetCarry, AX, AX},
[ADIVL]= {SizeL | LeftRead, AX|DX, AX|DX}, [ADIVL]= {SizeL | LeftRead | SetCarry, AX|DX, AX|DX},
[ADIVQ]= {SizeQ | LeftRead, AX|DX, AX|DX}, [ADIVQ]= {SizeQ | LeftRead | SetCarry, AX|DX, AX|DX},
[ADIVW]= {SizeW | LeftRead, AX|DX, AX|DX}, [ADIVW]= {SizeW | LeftRead | SetCarry, AX|DX, AX|DX},
[ADIVSD]= {SizeD | LeftRead | RightRdwr}, [ADIVSD]= {SizeD | LeftRead | RightRdwr},
[ADIVSS]= {SizeF | LeftRead | RightRdwr}, [ADIVSS]= {SizeF | LeftRead | RightRdwr},
[AIDIVB]= {SizeB | LeftRead, AX, AX}, [AIDIVB]= {SizeB | LeftRead | SetCarry, AX, AX},
[AIDIVL]= {SizeL | LeftRead, AX|DX, AX|DX}, [AIDIVL]= {SizeL | LeftRead | SetCarry, AX|DX, AX|DX},
[AIDIVQ]= {SizeQ | LeftRead, AX|DX, AX|DX}, [AIDIVQ]= {SizeQ | LeftRead | SetCarry, AX|DX, AX|DX},
[AIDIVW]= {SizeW | LeftRead, AX|DX, AX|DX}, [AIDIVW]= {SizeW | LeftRead | SetCarry, AX|DX, AX|DX},
[AIMULB]= {SizeB | LeftRead | SetCarry, AX, AX}, [AIMULB]= {SizeB | LeftRead | SetCarry, AX, AX},
[AIMULL]= {SizeL | LeftRead | ImulAXDX | SetCarry}, [AIMULL]= {SizeL | LeftRead | ImulAXDX | SetCarry},
...@@ -262,10 +262,10 @@ static ProgInfo progtable[ALAST] = { ...@@ -262,10 +262,10 @@ static ProgInfo progtable[ALAST] = {
[ASUBSD]= {SizeD | LeftRead | RightRdwr}, [ASUBSD]= {SizeD | LeftRead | RightRdwr},
[ASUBSS]= {SizeF | LeftRead | RightRdwr}, [ASUBSS]= {SizeF | LeftRead | RightRdwr},
[ATESTB]= {SizeB | LeftRead | RightRead}, [ATESTB]= {SizeB | LeftRead | RightRead | SetCarry},
[ATESTL]= {SizeL | LeftRead | RightRead}, [ATESTL]= {SizeL | LeftRead | RightRead | SetCarry},
[ATESTQ]= {SizeQ | LeftRead | RightRead}, [ATESTQ]= {SizeQ | LeftRead | RightRead | SetCarry},
[ATESTW]= {SizeW | LeftRead | RightRead}, [ATESTW]= {SizeW | LeftRead | RightRead | SetCarry},
[AUCOMISD]= {SizeD | LeftRead | RightRead}, [AUCOMISD]= {SizeD | LeftRead | RightRead},
[AUCOMISS]= {SizeF | LeftRead | RightRead}, [AUCOMISS]= {SizeF | LeftRead | RightRead},
......
...@@ -87,9 +87,9 @@ static ProgInfo progtable[ALAST] = { ...@@ -87,9 +87,9 @@ static ProgInfo progtable[ALAST] = {
[ADECL]= {SizeL | RightRdwr}, [ADECL]= {SizeL | RightRdwr},
[ADECW]= {SizeW | RightRdwr}, [ADECW]= {SizeW | RightRdwr},
[ADIVB]= {SizeB | LeftRead, AX, AX}, [ADIVB]= {SizeB | LeftRead | SetCarry, AX, AX},
[ADIVL]= {SizeL | LeftRead, AX|DX, AX|DX}, [ADIVL]= {SizeL | LeftRead | SetCarry, AX|DX, AX|DX},
[ADIVW]= {SizeW | LeftRead, AX|DX, AX|DX}, [ADIVW]= {SizeW | LeftRead | SetCarry, AX|DX, AX|DX},
[ADIVSD]= {SizeD | LeftRead | RightRdwr}, [ADIVSD]= {SizeD | LeftRead | RightRdwr},
[ADIVSS]= {SizeF | LeftRead | RightRdwr}, [ADIVSS]= {SizeF | LeftRead | RightRdwr},
...@@ -137,9 +137,9 @@ static ProgInfo progtable[ALAST] = { ...@@ -137,9 +137,9 @@ static ProgInfo progtable[ALAST] = {
[AFMULDP]= {SizeD | LeftAddr | RightRdwr}, [AFMULDP]= {SizeD | LeftAddr | RightRdwr},
[AFMULF]= {SizeF | LeftAddr | RightRdwr}, [AFMULF]= {SizeF | LeftAddr | RightRdwr},
[AIDIVB]= {SizeB | LeftRead, AX, AX}, [AIDIVB]= {SizeB | LeftRead | SetCarry, AX, AX},
[AIDIVL]= {SizeL | LeftRead, AX|DX, AX|DX}, [AIDIVL]= {SizeL | LeftRead | SetCarry, AX|DX, AX|DX},
[AIDIVW]= {SizeW | LeftRead, AX|DX, AX|DX}, [AIDIVW]= {SizeW | LeftRead | SetCarry, AX|DX, AX|DX},
[AIMULB]= {SizeB | LeftRead | SetCarry, AX, AX}, [AIMULB]= {SizeB | LeftRead | SetCarry, AX, AX},
[AIMULL]= {SizeL | LeftRead | ImulAXDX | SetCarry}, [AIMULL]= {SizeL | LeftRead | ImulAXDX | SetCarry},
...@@ -282,9 +282,9 @@ static ProgInfo progtable[ALAST] = { ...@@ -282,9 +282,9 @@ static ProgInfo progtable[ALAST] = {
[ASUBSD]= {SizeD | LeftRead | RightRdwr}, [ASUBSD]= {SizeD | LeftRead | RightRdwr},
[ASUBSS]= {SizeF | LeftRead | RightRdwr}, [ASUBSS]= {SizeF | LeftRead | RightRdwr},
[ATESTB]= {SizeB | LeftRead | RightRead}, [ATESTB]= {SizeB | LeftRead | RightRead | SetCarry},
[ATESTL]= {SizeL | LeftRead | RightRead}, [ATESTL]= {SizeL | LeftRead | RightRead | SetCarry},
[ATESTW]= {SizeW | LeftRead | RightRead}, [ATESTW]= {SizeW | LeftRead | RightRead | SetCarry},
[AUCOMISD]= {SizeD | LeftRead | RightRead}, [AUCOMISD]= {SizeD | LeftRead | RightRead},
[AUCOMISS]= {SizeF | LeftRead | RightRead}, [AUCOMISS]= {SizeF | LeftRead | RightRead},
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment