# HG changeset patch # User enevill # Date 1446547194 0 # Node ID 2115e6f0cbee935f1a36db94c49a1f360f45f97f # Parent e903061ac7ca30f5a76044fee1de3cafb722f5b1 Some 32 bit shifts still being anded with 0x3f instead of 0x1f. diff -r e903061ac7ca -r 2115e6f0cbee src/cpu/aarch64/vm/aarch64.ad --- a/src/cpu/aarch64/vm/aarch64.ad Wed Oct 28 17:51:10 2015 +0000 +++ b/src/cpu/aarch64/vm/aarch64.ad Tue Nov 03 10:39:54 2015 +0000 @@ -10595,7 +10595,7 @@ as_Register($src1$$reg), as_Register($src2$$reg), Assembler::LSR, - $src3$$constant & 0x3f); + $src3$$constant & 0x1f); %} ins_pipe(ialu_reg_reg_shift); @@ -10631,7 +10631,7 @@ as_Register($src1$$reg), as_Register($src2$$reg), Assembler::ASR, - $src3$$constant & 0x3f); + $src3$$constant & 0x1f); %} ins_pipe(ialu_reg_reg_shift); @@ -10667,7 +10667,7 @@ as_Register($src1$$reg), as_Register($src2$$reg), Assembler::LSL, - $src3$$constant & 0x3f); + $src3$$constant & 0x1f); %} ins_pipe(ialu_reg_reg_shift); @@ -10703,7 +10703,7 @@ as_Register($src1$$reg), as_Register($src2$$reg), Assembler::LSR, - $src3$$constant & 0x3f); + $src3$$constant & 0x1f); %} ins_pipe(ialu_reg_reg_shift); @@ -10739,7 +10739,7 @@ as_Register($src1$$reg), as_Register($src2$$reg), Assembler::ASR, - $src3$$constant & 0x3f); + $src3$$constant & 0x1f); %} ins_pipe(ialu_reg_reg_shift); @@ -10775,7 +10775,7 @@ as_Register($src1$$reg), as_Register($src2$$reg), Assembler::LSL, - $src3$$constant & 0x3f); + $src3$$constant & 0x1f); %} ins_pipe(ialu_reg_reg_shift); @@ -10811,7 +10811,7 @@ as_Register($src1$$reg), as_Register($src2$$reg), Assembler::LSR, - $src3$$constant & 0x3f); + $src3$$constant & 0x1f); %} ins_pipe(ialu_reg_reg_shift); @@ -10847,7 +10847,7 @@ as_Register($src1$$reg), as_Register($src2$$reg), Assembler::ASR, - $src3$$constant & 0x3f); + $src3$$constant & 0x1f); %} ins_pipe(ialu_reg_reg_shift); @@ -10883,7 +10883,7 @@ as_Register($src1$$reg), as_Register($src2$$reg), Assembler::LSL, - $src3$$constant & 0x3f); + $src3$$constant & 0x1f); %} ins_pipe(ialu_reg_reg_shift); @@ -10920,7 +10920,7 @@ as_Register($src1$$reg), as_Register($src2$$reg), Assembler::LSR, - $src3$$constant & 0x3f); + $src3$$constant & 0x1f); %} ins_pipe(ialu_reg_reg_shift); @@ -10958,7 +10958,7 @@ as_Register($src1$$reg), as_Register($src2$$reg), Assembler::ASR, - $src3$$constant & 0x3f); + $src3$$constant & 0x1f); %} ins_pipe(ialu_reg_reg_shift); @@ -10996,7 +10996,7 @@ as_Register($src1$$reg), as_Register($src2$$reg), Assembler::LSL, - $src3$$constant & 0x3f); + $src3$$constant & 0x1f); %} ins_pipe(ialu_reg_reg_shift); @@ -11034,7 +11034,7 @@ as_Register($src1$$reg), as_Register($src2$$reg), Assembler::LSR, - $src3$$constant & 0x3f); + $src3$$constant & 0x1f); %} ins_pipe(ialu_reg_reg_shift); @@ -11072,7 +11072,7 @@ as_Register($src1$$reg), as_Register($src2$$reg), Assembler::ASR, - $src3$$constant & 0x3f); + $src3$$constant & 0x1f); %} ins_pipe(ialu_reg_reg_shift); @@ -11110,7 +11110,7 @@ as_Register($src1$$reg), as_Register($src2$$reg), Assembler::LSL, - $src3$$constant & 0x3f); + $src3$$constant & 0x1f); %} ins_pipe(ialu_reg_reg_shift); @@ -11148,7 +11148,7 @@ as_Register($src1$$reg), as_Register($src2$$reg), Assembler::LSR, - $src3$$constant & 0x3f); + $src3$$constant & 0x1f); %} ins_pipe(ialu_reg_reg_shift); @@ -11186,7 +11186,7 @@ as_Register($src1$$reg), as_Register($src2$$reg), Assembler::ASR, - $src3$$constant & 0x3f); + $src3$$constant & 0x1f); %} ins_pipe(ialu_reg_reg_shift); @@ -11224,7 +11224,7 @@ as_Register($src1$$reg), as_Register($src2$$reg), Assembler::LSL, - $src3$$constant & 0x3f); + $src3$$constant & 0x1f); %} ins_pipe(ialu_reg_reg_shift); @@ -11262,7 +11262,7 @@ as_Register($src1$$reg), as_Register($src2$$reg), Assembler::LSR, - $src3$$constant & 0x3f); + $src3$$constant & 0x1f); %} ins_pipe(ialu_reg_reg_shift); @@ -11300,7 +11300,7 @@ as_Register($src1$$reg), as_Register($src2$$reg), Assembler::ASR, - $src3$$constant & 0x3f); + $src3$$constant & 0x1f); %} ins_pipe(ialu_reg_reg_shift); @@ -11338,7 +11338,7 @@ as_Register($src1$$reg), as_Register($src2$$reg), Assembler::LSL, - $src3$$constant & 0x3f); + $src3$$constant & 0x1f); %} ins_pipe(ialu_reg_reg_shift); @@ -11376,7 +11376,7 @@ as_Register($src1$$reg), as_Register($src2$$reg), Assembler::LSR, - $src3$$constant & 0x3f); + $src3$$constant & 0x1f); %} ins_pipe(ialu_reg_reg_shift); @@ -11414,7 +11414,7 @@ as_Register($src1$$reg), as_Register($src2$$reg), Assembler::ASR, - $src3$$constant & 0x3f); + $src3$$constant & 0x1f); %} ins_pipe(ialu_reg_reg_shift); @@ -11452,7 +11452,7 @@ as_Register($src1$$reg), as_Register($src2$$reg), Assembler::LSL, - $src3$$constant & 0x3f); + $src3$$constant & 0x1f); %} ins_pipe(ialu_reg_reg_shift); @@ -11495,8 +11495,8 @@ int s = 63 - lshift; int r = (rshift - lshift) & 63; __ sbfm(as_Register($dst$$reg), - as_Register($src$$reg), - r, s); + as_Register($src$$reg), + r, s); %} ins_pipe(ialu_reg_shift); @@ -11518,8 +11518,8 @@ int s = 31 - lshift; int r = (rshift - lshift) & 31; __ sbfmw(as_Register($dst$$reg), - as_Register($src$$reg), - r, s); + as_Register($src$$reg), + r, s); %} ins_pipe(ialu_reg_shift); @@ -11541,8 +11541,8 @@ int s = 63 - lshift; int r = (rshift - lshift) & 63; __ ubfm(as_Register($dst$$reg), - as_Register($src$$reg), - r, s); + as_Register($src$$reg), + r, s); %} ins_pipe(ialu_reg_shift); @@ -11564,8 +11564,8 @@ int s = 31 - lshift; int r = (rshift - lshift) & 31; __ ubfmw(as_Register($dst$$reg), - as_Register($src$$reg), - r, s); + as_Register($src$$reg), + r, s); %} ins_pipe(ialu_reg_shift); @@ -11583,7 +11583,7 @@ long mask = $mask$$constant; int width = exact_log2(mask+1); __ ubfxw(as_Register($dst$$reg), - as_Register($src$$reg), rshift, width); + as_Register($src$$reg), rshift, width); %} ins_pipe(ialu_reg_shift); %} @@ -11598,7 +11598,7 @@ long mask = $mask$$constant; int width = exact_log2(mask+1); __ ubfx(as_Register($dst$$reg), - as_Register($src$$reg), rshift, width); + as_Register($src$$reg), rshift, width); %} ins_pipe(ialu_reg_shift); %} @@ -11616,7 +11616,7 @@ long mask = $mask$$constant; int width = exact_log2(mask+1); __ ubfx(as_Register($dst$$reg), - as_Register($src$$reg), rshift, width); + as_Register($src$$reg), rshift, width); %} ins_pipe(ialu_reg_shift); %} @@ -11695,7 +11695,7 @@ ins_encode %{ __ subw(rscratch1, zr, as_Register($shift$$reg)); __ rorv(as_Register($dst$$reg), as_Register($src$$reg), - rscratch1); + rscratch1); %} ins_pipe(ialu_reg_reg_vshift); %} @@ -11711,7 +11711,7 @@ ins_encode %{ __ subw(rscratch1, zr, as_Register($shift$$reg)); __ rorvw(as_Register($dst$$reg), as_Register($src$$reg), - rscratch1); + rscratch1); %} ins_pipe(ialu_reg_reg_vshift); %} @@ -11762,7 +11762,7 @@ ins_cost(INSN_COST); ins_encode %{ __ rorv(as_Register($dst$$reg), as_Register($src$$reg), - as_Register($shift$$reg)); + as_Register($shift$$reg)); %} ins_pipe(ialu_reg_reg_vshift); %} @@ -11777,7 +11777,7 @@ ins_cost(INSN_COST); ins_encode %{ __ rorvw(as_Register($dst$$reg), as_Register($src$$reg), - as_Register($shift$$reg)); + as_Register($shift$$reg)); %} ins_pipe(ialu_reg_reg_vshift); %}