Commit 9156483f authored by Michael Beck's avatar Michael Beck
Browse files

more x87 emitters updated

parent fcc2cb21
......@@ -474,14 +474,14 @@ $additional_opcodes = 0;
"emit" => '. lea %D1, %ia32_emit_am /* LEA(%A1, %A2) */'
},
#--------------------------------------------------------#
# __ _ _ _ #
# / _| | | | | | #
# | |_| | ___ __ _| |_ _ __ ___ __| | ___ ___ #
# | _| |/ _ \ / _` | __| | '_ \ / _ \ / _` |/ _ \/ __| #
# | | | | (_) | (_| | |_ | | | | (_) | (_| | __/\__ \ #
# |_| |_|\___/ \__,_|\__| |_| |_|\___/ \__,_|\___||___/ #
#--------------------------------------------------------#
#-----------------------------------------------------------------------------#
# _____ _____ ______ __ _ _ _ #
# / ____/ ____| ____| / _| | | | | | #
# | (___| (___ | |__ | |_| | ___ __ _| |_ _ __ ___ __| | ___ ___ #
# \___ \\___ \| __| | _| |/ _ \ / _` | __| | '_ \ / _ \ / _` |/ _ \/ __| #
# ____) |___) | |____ | | | | (_) | (_| | |_ | | | | (_) | (_| | __/\__ \ #
# |_____/_____/|______| |_| |_|\___/ \__,_|\__| |_| |_|\___/ \__,_|\___||___/ #
#-----------------------------------------------------------------------------#
# commutative operations
......@@ -647,16 +647,19 @@ $additional_opcodes = 0;
"comment" => "construct Conv Floating Point -> Floating Point",
},
#--------------------------------------------------------#
# __ _ _ _ #
# / _| | | | | | #
# | |_| | ___ __ _| |_ _ __ ___ __| | ___ ___ #
# | _| |/ _ \ / _` | __| | '_ \ / _ \ / _` |/ _ \/ __| #
# | | | | (_) | (_| | |_ | | | | (_) | (_| | __/\__ \ #
# |_| |_|\___/ \__,_|\__| |_| |_|\___/ \__,_|\___||___/ #
#--------------------------------------------------------#
# virtual float nodes
#----------------------------------------------------------#
# _ _ _ __ _ _ #
# (_) | | | | / _| | | | #
# __ ___ _ __| |_ _ _ __ _| | | |_| | ___ __ _| |_ #
# \ \ / / | '__| __| | | |/ _` | | | _| |/ _ \ / _` | __| #
# \ V /| | | | |_| |_| | (_| | | | | | | (_) | (_| | |_ #
# \_/ |_|_| \__|\__,_|\__,_|_| |_| |_|\___/ \__,_|\__| #
# | | #
# _ __ ___ __| | ___ ___ #
# | '_ \ / _ \ / _` |/ _ \/ __| #
# | | | | (_) | (_| | __/\__ \ #
# |_| |_|\___/ \__,_|\___||___/ #
#----------------------------------------------------------#
"vfadd" => {
"irn_flags" => "R",
......@@ -801,16 +804,13 @@ $additional_opcodes = 0;
"reg_req" => { "out" => [ "vfp" ] },
},
#--------------------------------------------------------#
# __ _ _ _ #
# / _| | | | | | #
# | |_| | ___ __ _| |_ _ __ ___ __| | ___ ___ #
# | _| |/ _ \ / _` | __| | '_ \ / _ \ / _` |/ _ \/ __| #
# | | | | (_) | (_| | |_ | | | | (_) | (_| | __/\__ \ #
# |_| |_|\___/ \__,_|\__| |_| |_|\___/ \__,_|\___||___/ #
#--------------------------------------------------------#
# x87 float nodes
#------------------------------------------------------------------------#
# ___ _____ __ _ _ _ #
# __ _( _ )___ | / _| | ___ __ _| |_ _ __ ___ __| | ___ ___ #
# \ \/ / _ \ / / | |_| |/ _ \ / _` | __| | '_ \ / _ \ / _` |/ _ \/ __| #
# > < (_) |/ / | _| | (_) | (_| | |_ | | | | (_) | (_| | __/\__ \ #
# /_/\_\___//_/ |_| |_|\___/ \__,_|\__| |_| |_|\___/ \__,_|\___||___/ #
#------------------------------------------------------------------------#
"fadd" => {
"op_flags" => "R",
......@@ -953,33 +953,30 @@ $additional_opcodes = 0;
# x87 Load and Store
"fld" => {
"op_flags" => "R",
"rd_constructor" => "NONE",
"op_flags" => "L|F",
"op_flags" => "R|L|F",
"state" => "exc_pinned",
"comment" => "x87 fp Load: Load(ptr, mem) = LD ptr -> reg",
"reg_req" => { },
"emit" => '. fld %ia32_emit_x87_binop /* Load((%A1)) -> %D1 */'
"emit" => '. fld %ia32_emit_am /* Load((%A1)) -> %D1 */'
},
"fst" => {
"op_flags" => "R",
"rd_constructor" => "NONE",
"op_flags" => "L|F",
"op_flags" => "R|L|F",
"state" => "exc_pinned",
"comment" => "x87 fp Store: Store(ptr, val, mem) = ST ptr,val",
"reg_req" => { },
"emit" => '. fst %ia32_emit_x87_binop /* Store(%A3) -> (%A1) */'
"emit" => '. fst %ia32_emit_am /* Store(%A3) -> (%A1) */'
},
"fstp" => {
"op_flags" => "R",
"rd_constructor" => "NONE",
"op_flags" => "L|F",
"op_flags" => "R|L|F",
"state" => "exc_pinned",
"comment" => "x87 fp Store: Store(ptr, val, mem) = ST ptr,val",
"reg_req" => { },
"emit" => '. fstp %ia32_emit_x87_binop /* Store(%A3) -> (%A1) and pop */'
"emit" => '. fstp %ia32_emit_am /* Store(%A3) -> (%A1) and pop */'
},
# Conversions
......
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