SELECT on comparison of doubles panicked at 'not yet implemented'
The following IR code:
ssa! (($vm, $tester_name) <int1> cmp_res);
inst! (($vm, $tester_name) blk_entry_cmp:
cmp_res = CMPOP (CmpOp::EQ) result f64_2_local
);
ssa! (($vm, $tester_name) <int64t> blk_entry_ret);
inst! (($vm, $tester_name) blk_entry_inst_select:
blk_entry_ret = SELECT cmp_res int64_pass_local int64_fail_local
);
inst! (($vm, $tester_name) blk_entry_inst_ret:
SET_RETVAL blk_entry_ret
);
panics with this output:
TRACE - instsel on node#1032 (SETRETVAL (int<64>(%blk_entry_ret #1030) = SELECT if (int<1>(%cmp_res #1028) = EQ double(%result #1026) double(2)) then int<64>(0) else int<64>(1)))
TRACE - instsel on SETRETVAL
TRACE - instsel on node#1031 (int<64>(%blk_entry_ret #1030) = SELECT if (int<1>(%cmp_res #1028) = EQ double(%result #1026) double(2)) then int<64>(0) else int<64>(1))
TRACE - instsel on SELECT
FAILED
failures:
---- test_compiler::test_floatingpoint::test_double_add stdout ----
thread 'test_compiler::test_floatingpoint::test_double_add' panicked at 'not yet implemented', src/compiler/backend/arch/x86_64/inst_sel.rs:3790:32
Both result
and f64_2_local
are doubles.
I'm using a commit from 20/06/2017 on 5:19PM.
In the newest commit, this unimplemented!()
panic in located at line 4433 of x86_64/inst_sel.rs
.