aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorPaul Guyot <[email protected]>2011-09-03 19:49:54 +0200
committerHenrik Nord <[email protected]>2011-09-05 12:16:32 +0200
commitba14137774a64da076b9cf0d98e0e6f2711a74e4 (patch)
tree76a381056016cfa7d36dadb0a284473b10dbb69e
parent6a113a60dba9fd6c4d736b9e56c52f3494a15027 (diff)
downloadotp-ba14137774a64da076b9cf0d98e0e6f2711a74e4.tar.gz
otp-ba14137774a64da076b9cf0d98e0e6f2711a74e4.tar.bz2
otp-ba14137774a64da076b9cf0d98e0e6f2711a74e4.zip
Fix bug with binary pattern matching of floats of variable size
Pattern matching of floats with variable size (<<F:S/float>>) did always fail. Judging from similar code for ints, this bug is simply a typo.
-rw-r--r--lib/hipe/icode/hipe_beam_to_icode.erl2
1 files changed, 1 insertions, 1 deletions
diff --git a/lib/hipe/icode/hipe_beam_to_icode.erl b/lib/hipe/icode/hipe_beam_to_icode.erl
index d7eb035551..cfed410240 100644
--- a/lib/hipe/icode/hipe_beam_to_icode.erl
+++ b/lib/hipe/icode/hipe_beam_to_icode.erl
@@ -720,7 +720,7 @@ trans_fun([{test,bs_get_float2,{f,Lbl},[Ms,_Live,Size,Unit,{field_flags,Flags0},
?EXIT({bad_bs_size_constant,Size});
BitReg ->
Bits = mk_var(BitReg),
- {{bs_get_float,Unit,Flags}, [Bits,MsVar]}
+ {{bs_get_float,Unit,Flags}, [MsVar,Bits]}
end,
trans_op_call({hipe_bs_primop,Name}, Lbl, Args, [Dst,MsVar], Env, Instructions);
trans_fun([{test,bs_get_integer2,{f,Lbl},[Ms,_Live,Size,Unit,{field_flags,Flags0},X]}|