This patch: * removes the "default" opt level, on the basis that it has no definition and is referred to nowhere in the compiler. * renames the "fastest" level to "none". The resulting set of transformations is unchanged. * renames the "best" level to "speed_and_size". The resulting set of transformations is unchanged. * adds a new level, "speed". This is the same as "speed_and_size" except that it omits transformations aimed only at reducing code size. Currently it omits only the insn shrinking pass.
20 lines
531 B
Plaintext
20 lines
531 B
Plaintext
test compile
|
|
set opt_level=speed_and_size
|
|
set probestack_enabled=false
|
|
set enable_simd
|
|
target x86_64
|
|
|
|
; ensure that scalar_to_vector emits no instructions for floats (already exist in an XMM register)
|
|
function %test_scalar_to_vector_f32() -> f32x4 baldrdash_system_v {
|
|
ebb0:
|
|
v0 = f32const 0x0.42
|
|
v1 = scalar_to_vector.f32x4 v0
|
|
return v1
|
|
}
|
|
|
|
; check: ebb0
|
|
; nextln: v2 = iconst.i32 0x3e84_0000
|
|
; nextln: v0 = bitcast.f32 v2
|
|
; nextln: [null_fpr#00,%xmm0] v1 = scalar_to_vector.f32x4 v0
|
|
; nextln: return v1
|