Mercurial > hg > graal-jvmci-8
comparison src/cpu/x86/vm/assembler_x86.cpp @ 1920:2fe998383789
6997311: SIGFPE in new long division asm code
Summary: use unsigned DIV instruction
Reviewed-by: never
author | kvn |
---|---|
date | Sat, 06 Nov 2010 18:52:07 -0700 |
parents | ae065c367d93 |
children | 2d26b0046e0d f95d63e2154a |
comparison
equal
deleted
inserted
replaced
1919:d0895dfaf7cc | 1920:2fe998383789 |
---|---|
1273 int encode = prefix_and_encode(src->encoding()); | 1273 int encode = prefix_and_encode(src->encoding()); |
1274 emit_byte(0xF7); | 1274 emit_byte(0xF7); |
1275 emit_byte(0xF8 | encode); | 1275 emit_byte(0xF8 | encode); |
1276 } | 1276 } |
1277 | 1277 |
1278 void Assembler::divl(Register src) { // Unsigned | |
1279 int encode = prefix_and_encode(src->encoding()); | |
1280 emit_byte(0xF7); | |
1281 emit_byte(0xF0 | encode); | |
1282 } | |
1283 | |
1278 void Assembler::imull(Register dst, Register src) { | 1284 void Assembler::imull(Register dst, Register src) { |
1279 int encode = prefix_and_encode(dst->encoding(), src->encoding()); | 1285 int encode = prefix_and_encode(dst->encoding(), src->encoding()); |
1280 emit_byte(0x0F); | 1286 emit_byte(0x0F); |
1281 emit_byte(0xAF); | 1287 emit_byte(0xAF); |
1282 emit_byte(0xC0 | encode); | 1288 emit_byte(0xC0 | encode); |