Abstract Instructions:
0
exact_scheme: bsf W:GPR:64, R:GPR:64
mnemonic: 'bsf' + at most 0 edits
opschemes: {R:GPR:64, W:GPR:64, W:flag_af, W:flag_cf, W:flag_of, W:flag_pf, W:flag_sf, W:flag_zf}
memory_usage: definitely not
uops_on_SKL: at most 1
category: BITBYTE
extension: BASE
isa-set: I386
has_lock: False
has_rep: False (1)
Abstract Aliasing:
0:(E, 'reg0') - 0:(E, 'reg1') must not alias
Abstract Instructions:
0
exact_scheme: TOP
mnemonic: 'bsf' + at most 0 edits
opschemes: {R:GPR:64, W:GPR:64, W:flag_af, W:flag_cf, W:flag_of, W:flag_pf, W:flag_sf, W:flag_zf}
memory_usage: definitely not
uops_on_SKL: at most 1
category: BITBYTE
extension: BASE
isa-set: I386
has_lock: False
has_rep: False (1)
Abstract Aliasing:
0:(E, 'reg0') - 0:(E, 'reg1') must not alias
Abstract Instructions:
0
exact_scheme: TOP
mnemonic: 'bsf' + at most 0 edits
opschemes: {R:GPR:64, W:GPR:64, W:flag_cf, W:flag_of, W:flag_pf, W:flag_sf, W:flag_zf}
memory_usage: definitely not
uops_on_SKL: at most 1
category: BITBYTE
extension: BASE
isa-set: I386
has_lock: False
has_rep: False (1)
Abstract Aliasing:
0:(E, 'reg0') - 0:(E, 'reg1') must not alias
Abstract Instructions:
0
exact_scheme: TOP
mnemonic: 'bsf' + at most 0 edits
opschemes: {R:GPR:64, W:GPR:64, W:flag_cf, W:flag_of, W:flag_pf, W:flag_sf, W:flag_zf}
memory_usage: definitely not
uops_on_SKL: at most 1
category: BITBYTE
extension: TOP
isa-set: I386
has_lock: False
has_rep: False (1)
Abstract Aliasing:
0:(E, 'reg0') - 0:(E, 'reg1') must not alias
Abstract Instructions:
0
exact_scheme: TOP
mnemonic: 'bsf' + at most 0 edits
opschemes: {W:GPR:64, W:flag_cf, W:flag_of, W:flag_pf, W:flag_sf, W:flag_zf}
memory_usage: definitely not
uops_on_SKL: at most 1
category: BITBYTE
extension: TOP
isa-set: I386
has_lock: False
has_rep: False (1)
Abstract Aliasing:
0:(E, 'reg0') - 0:(E, 'reg1') must not alias
Abstract Instructions:
0
exact_scheme: TOP
mnemonic: 'bsf' + at most 0 edits
opschemes: {W:GPR:64, W:flag_cf, W:flag_pf, W:flag_sf, W:flag_zf}
memory_usage: definitely not
uops_on_SKL: at most 1
category: BITBYTE
extension: TOP
isa-set: I386
has_lock: False
has_rep: False (1)
Abstract Aliasing:
0:(E, 'reg0') - 0:(E, 'reg1') must not alias
Abstract Instructions:
Abstract Aliasing:
0:(E, 'reg0') - 0:(E, 'reg1') must not alias
Abstract Instructions:
Abstract Aliasing:
0:(E, 'reg0') - 0:(E, 'reg1') must not alias
Abstract Instructions:
Abstract Aliasing:
0:(E, 'reg0') - 0:(E, 'reg1') must not alias
Abstract Instructions:
0
exact_scheme: TOP
mnemonic: 'bsf' + at most 0 edits
opschemes: {W:GPR:64, W:flag_sf}
memory_usage: definitely not
uops_on_SKL: at most 1
category: BITBYTE
extension: TOP
isa-set: I386
has_lock: TOP
has_rep: False (1)
Abstract Aliasing:
0:(E, 'reg0') - 0:(E, 'reg1') must not alias
Abstract Instructions:
0
exact_scheme: TOP
mnemonic: 'bsf' + at most 0 edits
opschemes: {W:GPR:64, W:flag_sf}
memory_usage: definitely not
uops_on_SKL: at most 1
category: TOP
extension: TOP
isa-set: I386
has_lock: TOP
has_rep: False (1)
Abstract Aliasing:
0:(E, 'reg0') - 0:(E, 'reg1') must not alias
Abstract Instructions:
0
exact_scheme: TOP
mnemonic: 'bsf' + at most 0 edits
opschemes: {W:GPR:64, W:flag_sf}
memory_usage: definitely not
uops_on_SKL: at most 1
category: TOP
extension: TOP
isa-set: TOP
has_lock: TOP
has_rep: False (1)
Abstract Aliasing:
0:(E, 'reg0') - 0:(E, 'reg1') must not alias
Abstract Instructions:
0
exact_scheme: TOP
mnemonic: 'bsf' + at most 0 edits
opschemes: {W:GPR:64, W:flag_sf}
memory_usage: definitely not
uops_on_SKL: at most 1
category: TOP
extension: TOP
isa-set: I386
has_lock: TOP
has_rep: False (1)
Abstract Aliasing:
0:(E, 'reg0') - 0:(E, 'reg1')
TOP
Abstract Instructions:
Abstract Aliasing:
0:(E, 'reg0') - 0:(E, 'reg1') must not alias
Abstract Instructions:
0
exact_scheme: TOP
mnemonic: 'bsf' + at most 1 edits
opschemes: {W:GPR:64}
memory_usage: definitely not
uops_on_SKL: at most 1
category: TOP
extension: TOP
isa-set: TOP
has_lock: TOP
has_rep: False (2)
Abstract Aliasing:
0:(E, 'reg0') - 0:(E, 'reg1') must not alias
Abstract Instructions:
0
exact_scheme: TOP
mnemonic: 'bsf' + at most 1 edits
opschemes: {W:GPR:64}
memory_usage: definitely not
uops_on_SKL: at most 1
category: TOP
extension: TOP
isa-set: TOP
has_lock: TOP
has_rep: TOP
(2)
Abstract Aliasing:
0:(E, 'reg0') - 0:(E, 'reg1') must not alias
Abstract Instructions:
0
exact_scheme: TOP
mnemonic: 'bsf' + at most 1 edits
opschemes: {W:GPR:64}
memory_usage: TOP
uops_on_SKL: at most 1
category: TOP
extension: TOP
isa-set: TOP
has_lock: TOP
has_rep: TOP (4)
Abstract Aliasing:
0:(E, 'reg0') - 0:(E, 'reg1') must not alias
Abstract Instructions:
Abstract Aliasing:
0:(E, 'reg0') - 0:(E, 'reg1') must not alias
Abstract Instructions:
0
exact_scheme: TOP
mnemonic: 'bsf' + at most 1 edits
opschemes: TOP
memory_usage: definitely not
uops_on_SKL: at most 1
category: TOP
extension: TOP
isa-set: TOP
has_lock: TOP
has_rep: TOP (6)
Abstract Aliasing:
0:(E, 'reg0') - 0:(E, 'reg1') must not alias
Abstract Instructions:
0
exact_scheme: TOP
mnemonic: 'bsf' + at most 1 edits
opschemes: {W:GPR:64}
memory_usage: TOP
uops_on_SKL: at most 3
category: TOP
extension: TOP
isa-set: TOP
has_lock: TOP
has_rep: TOP (4)
Abstract Aliasing:
0:(E, 'reg0') - 0:(E, 'reg1') must not alias
Abstract Instructions:
0
exact_scheme: TOP
mnemonic: 'bsf' + at most 1 edits
opschemes: {W:GPR:64}
memory_usage: TOP
uops_on_SKL: at most 7
category: TOP
extension: TOP
isa-set: TOP
has_lock: TOP
has_rep: TOP (4)
Abstract Aliasing:
0:(E, 'reg0') - 0:(E, 'reg1') must not alias
Abstract Instructions:
0
exact_scheme: TOP
mnemonic: 'bsf' + at most 1 edits
opschemes: {W:GPR:64}
memory_usage: TOP
uops_on_SKL: at most 15
category: TOP
extension: TOP
isa-set: TOP
has_lock: TOP
has_rep: TOP (4)
Abstract Aliasing:
0:(E, 'reg0') - 0:(E, 'reg1') must not alias
Abstract Instructions:
0
exact_scheme: TOP
mnemonic: 'bsf' + at most 1 edits
opschemes: {W:GPR:64}
memory_usage: TOP
uops_on_SKL: at most 31
category: TOP
extension: TOP
isa-set: TOP
has_lock: TOP
has_rep: TOP (4)
Abstract Aliasing:
0:(E, 'reg0') - 0:(E, 'reg1') must not alias
Abstract Instructions:
0
exact_scheme: TOP
mnemonic: 'bsf' + at most 1 edits
opschemes: {W:GPR:64}
memory_usage: TOP
uops_on_SKL: TOP
category: TOP
extension: TOP
isa-set: TOP
has_lock: TOP
has_rep: TOP (4)
Abstract Aliasing:
0:(E, 'reg0') - 0:(E, 'reg1') must not alias
Terminated: No more expansions remain.
close
Close Docs
Feature Documentation: Witness View
This page shows the decisions taken in the generalization of a specific discovery and why they were taken.
The decisions are arranged in a tree with abstract basic blocks as nodes.
The root (on the top, blue) is the starting abstract block, which was directly abstracted from a concrete basic block.
Successors have one component (highlighted in orange) changed compared to their predecessor.
If this change still produced an interesting result, the corresponding abstract block is taken (green) and used to continue generalization.
If the change made a not uniformly interesting result, it is discarded (red).
If no more fresh choices for generalization are available, the procedure terminates.
You can click on abstract blocks to display a list of sampled concrete basic blocks that were used to judge its interestingness.