Sha256: c5f389770ad42c81dd681c4ca2b001608ba0219c175ffa1748819d87841295b9

Contents?: true

Size: 676 Bytes

Versions: 13

Compression:

Stored size: 676 Bytes

Contents

;; Rewrites for `select_spectre_guard`. Check these rules carefully! This
;; instruction prohibits all speculation on the controlling value when
;; determining which input to use as the result. Rewrites must respect that
;; requirement.

;; If we statically know which value will be the result, it's safe to just use
;; that value. No speculation on the controlling value is possible if we simply
;; don't depend on that value at all.
(rule (simplify (select_spectre_guard _ _ x x))
      (subsume x))
(rule (simplify (select_spectre_guard _ (iconst_u _ (u64_nonzero _)) x _))
      (subsume x))
(rule (simplify (select_spectre_guard _ (iconst_u _ 0) _ y))
      (subsume y))

Version data entries

13 entries across 13 versions & 1 rubygems

Version Path
wasmtime-29.0.0 ./ext/cargo-vendor/cranelift-codegen-0.116.0/src/opts/spectre.isle
wasmtime-28.0.0 ./ext/cargo-vendor/cranelift-codegen-0.115.0/src/opts/spectre.isle
wasmtime-27.0.0 ./ext/cargo-vendor/cranelift-codegen-0.114.0/src/opts/spectre.isle
wasmtime-26.0.0 ./ext/cargo-vendor/cranelift-codegen-0.113.0/src/opts/spectre.isle
wasmtime-25.0.2 ./ext/cargo-vendor/cranelift-codegen-0.112.2/src/opts/spectre.isle
wasmtime-25.0.1 ./ext/cargo-vendor/cranelift-codegen-0.112.1/src/opts/spectre.isle
wasmtime-25.0.0 ./ext/cargo-vendor/cranelift-codegen-0.112.0/src/opts/spectre.isle
wasmtime-24.0.0 ./ext/cargo-vendor/cranelift-codegen-0.111.0/src/opts/spectre.isle
wasmtime-23.0.2 ./ext/cargo-vendor/cranelift-codegen-0.110.2/src/opts/spectre.isle
wasmtime-22.0.0 ./ext/cargo-vendor/cranelift-codegen-0.109.0/src/opts/spectre.isle
wasmtime-21.0.1 ./ext/cargo-vendor/cranelift-codegen-0.108.1/src/opts/spectre.isle
wasmtime-20.0.2 ./ext/cargo-vendor/cranelift-codegen-0.107.2/src/opts/spectre.isle
wasmtime-20.0.0 ./ext/cargo-vendor/cranelift-codegen-0.107.2/src/opts/spectre.isle