diff --git a/basis/compiler/cfg/linear-scan/linear-scan-tests.factor b/basis/compiler/cfg/linear-scan/linear-scan-tests.factor index b7a97e75c6..062c62adab 100644 --- a/basis/compiler/cfg/linear-scan/linear-scan-tests.factor +++ b/basis/compiler/cfg/linear-scan/linear-scan-tests.factor @@ -656,14 +656,17 @@ V{ T{ ##copy { dst 689481 } { src 689475 } + { rep int-rep } } T{ ##copy { dst 689482 } { src 689474 } + { rep int-rep } } T{ ##copy { dst 689483 } { src 689473 } + { rep int-rep } } T{ ##branch } } 2 test-bb @@ -672,14 +675,17 @@ V{ T{ ##copy { dst 689481 } { src 689473 } + { rep int-rep } } T{ ##copy { dst 689482 } { src 689475 } + { rep int-rep } } T{ ##copy { dst 689483 } { src 689474 } + { rep int-rep } } T{ ##branch } } 3 test-bb @@ -742,10 +748,12 @@ V{ T{ ##copy { dst 689608 } { src 689600 } + { rep int-rep } } T{ ##copy { dst 689610 } { src 689601 } + { rep int-rep } } T{ ##branch } } 2 test-bb @@ -758,14 +766,17 @@ V{ T{ ##copy { dst 689607 } { src 689600 } + { rep int-rep } } T{ ##copy { dst 689608 } { src 689601 } + { rep int-rep } } T{ ##copy { dst 689610 } { src 689609 } + { rep int-rep } } T{ ##branch } } 3 test-bb @@ -816,6 +827,7 @@ V{ T{ ##copy { dst 2 } { src 1 } + { rep int-rep } } T{ ##branch } } 2 test-bb @@ -828,6 +840,7 @@ V{ T{ ##copy { dst 2 } { src 3 } + { rep int-rep } } T{ ##branch } } 3 test-bb @@ -1121,7 +1134,7 @@ V{ { slot 1 } { tag 2 } } - T{ ##copy { dst 79 } { src 69 } } + T{ ##copy { dst 79 } { src 69 } { rep int-rep } } T{ ##slot-imm { dst 85 } { obj 62 } @@ -1169,22 +1182,22 @@ V{ T{ ##peek { dst 114 } { loc D 1 } } T{ ##peek { dst 116 } { loc D 4 } } T{ ##peek { dst 119 } { loc R 0 } } - T{ ##copy { dst 109 } { src 108 } } - T{ ##copy { dst 111 } { src 110 } } - T{ ##copy { dst 113 } { src 112 } } - T{ ##copy { dst 115 } { src 114 } } - T{ ##copy { dst 117 } { src 116 } } - T{ ##copy { dst 120 } { src 119 } } + T{ ##copy { dst 109 } { src 108 } { rep int-rep } } + T{ ##copy { dst 111 } { src 110 } { rep int-rep } } + T{ ##copy { dst 113 } { src 112 } { rep int-rep } } + T{ ##copy { dst 115 } { src 114 } { rep int-rep } } + T{ ##copy { dst 117 } { src 116 } { rep int-rep } } + T{ ##copy { dst 120 } { src 119 } { rep int-rep } } T{ ##branch } } 3 test-bb V{ - T{ ##copy { dst 109 } { src 62 } } - T{ ##copy { dst 111 } { src 61 } } - T{ ##copy { dst 113 } { src 62 } } - T{ ##copy { dst 115 } { src 79 } } - T{ ##copy { dst 117 } { src 64 } } - T{ ##copy { dst 120 } { src 69 } } + T{ ##copy { dst 109 } { src 62 } { rep int-rep } } + T{ ##copy { dst 111 } { src 61 } { rep int-rep } } + T{ ##copy { dst 113 } { src 62 } { rep int-rep } } + T{ ##copy { dst 115 } { src 79 } { rep int-rep } } + T{ ##copy { dst 117 } { src 64 } { rep int-rep } } + T{ ##copy { dst 120 } { src 69 } { rep int-rep } } T{ ##branch } } 4 test-bb @@ -1306,12 +1319,12 @@ V{ T{ ##peek { dst 162 } { loc D 1 } } T{ ##peek { dst 164 } { loc D 4 } } T{ ##peek { dst 167 } { loc R 0 } } - T{ ##copy { dst 157 } { src 156 } } - T{ ##copy { dst 159 } { src 158 } } - T{ ##copy { dst 161 } { src 160 } } - T{ ##copy { dst 163 } { src 162 } } - T{ ##copy { dst 165 } { src 164 } } - T{ ##copy { dst 168 } { src 167 } } + T{ ##copy { dst 157 } { src 156 } { rep int-rep } } + T{ ##copy { dst 159 } { src 158 } { rep int-rep } } + T{ ##copy { dst 161 } { src 160 } { rep int-rep } } + T{ ##copy { dst 163 } { src 162 } { rep int-rep } } + T{ ##copy { dst 165 } { src 164 } { rep int-rep } } + T{ ##copy { dst 168 } { src 167 } { rep int-rep } } T{ ##branch } } 4 test-bb diff --git a/basis/compiler/tests/low-level-ir.factor b/basis/compiler/tests/low-level-ir.factor index e3e2c3344e..d67aaef43b 100644 --- a/basis/compiler/tests/low-level-ir.factor +++ b/basis/compiler/tests/low-level-ir.factor @@ -3,7 +3,7 @@ compiler.cfg.debugger compiler.cfg.instructions compiler.cfg.mr compiler.cfg.registers compiler.codegen compiler.units cpu.architecture hashtables kernel namespaces sequences tools.test vectors words layouts literals math arrays -alien.syntax ; +alien.syntax math.private ; IN: compiler.tests.low-level-ir : compile-cfg ( cfg -- word ) @@ -46,16 +46,19 @@ IN: compiler.tests.low-level-ir } compile-test-bb ] unit-test -! ##copy on floats -[ 1.5 ] [ - V{ - T{ ##load-reference f 4 1.5 } - T{ ##unbox-float f 1 4 } - T{ ##copy f 2 1 double-float-rep } - T{ ##box-float f 3 2 } - T{ ##copy f 0 3 int-rep } - } compile-test-bb -] unit-test +! ##copy on floats. We can only run this test if float intrinsics +! are enabled. +\ float+ "intrinsic" word-prop [ + [ 1.5 ] [ + V{ + T{ ##load-reference f 4 1.5 } + T{ ##unbox-float f 1 4 } + T{ ##copy f 2 1 double-float-rep } + T{ ##box-float f 3 2 } + T{ ##copy f 0 3 int-rep } + } compile-test-bb + ] unit-test +] when ! make sure slot access works when the destination is ! one of the sources