bjorn3 edited issue #1045:
Opening this issue to prevent polluting the issue list
[x] clz.i16
```
target x86_64function %clz_i16(i16) -> i16 fast {
ebb0(v0: i16):
v1 = clz.i16 v0
return v1
}
```
function %clz_i16(i16 [%rdi]) -> i16 [%rax] fast { ebb0(v0: i16): v1 = clz.i16 v0 [Op1ret#c3] return v1 ^~~~~~ verifier inst1: v1 is a ghost value used by a real [Op1ret#c3] instruction }
[x] ireduce i16 -> i8
```
target x86_64function %ireduce_i8(i16) -> i8 fast {
ebb0(v0: i16):
v1 = ireduce.i8 v0
return v1
}
``````
function %ireduce_i8(i16 [%rdi]) -> i8 [%rax] fast {
ebb0(v0: i16):
v1 = ireduce.i8 v0
[Op1ret#c3] return v1
^~~~~~ verifier inst1: v1 is a ghost value used by a real [Op1ret#c3] instruction}
```[x] icmp.i8
- [x] icmp_imm.i8
[x] ushr.i8
[ ] iadd_cout.i8
[ ] isub_bout.i8
[x] select.i8
[x] rotl.i8
- [ ] rotr.i8
Edit: update for bytecodealliance/cranelift#524
Edit2: addisplit.i32
andiconcat.i32
Edit3: removedisplit.i32
andiconcat.i32
bjorn3 edited issue #1045:
Opening this issue to prevent polluting the issue list
[x] clz.i16
```
target x86_64function %clz_i16(i16) -> i16 fast {
ebb0(v0: i16):
v1 = clz.i16 v0
return v1
}
```
function %clz_i16(i16 [%rdi]) -> i16 [%rax] fast { ebb0(v0: i16): v1 = clz.i16 v0 [Op1ret#c3] return v1 ^~~~~~ verifier inst1: v1 is a ghost value used by a real [Op1ret#c3] instruction }
[x] ireduce i16 -> i8
```
target x86_64function %ireduce_i8(i16) -> i8 fast {
ebb0(v0: i16):
v1 = ireduce.i8 v0
return v1
}
``````
function %ireduce_i8(i16 [%rdi]) -> i8 [%rax] fast {
ebb0(v0: i16):
v1 = ireduce.i8 v0
[Op1ret#c3] return v1
^~~~~~ verifier inst1: v1 is a ghost value used by a real [Op1ret#c3] instruction}
```[x] icmp.i8
- [x] icmp_imm.i8
[x] ushr.i8
[ ] iadd_cout.i8
[ ] isub_bout.i8
[x] select.i8
[x] rotl.i8
- [x] rotr.i8
Edit: update for bytecodealliance/cranelift#524
Edit2: addisplit.i32
andiconcat.i32
Edit3: removedisplit.i32
andiconcat.i32
bjorn3 edited a comment on issue #1045:
- [x]
rot{l,r}_imm.i16
cfallin commented on issue #1045:
@bjorn3 can you comment on whether there are any remaining opcode/type combinations needed for i8/i16 by cg_clif, or whether we can close this issue?
bjorn3 commented on issue #1045:
fcvt_to_*int_sat.i8/i16 are the last ones I believe.
bjorn3 edited a comment on issue #1045:
fcvt_to_*int_sat.i8/i16 are the last ones remaining I believe.
cfallin labeled issue #1045:
Opening this issue to prevent polluting the issue list
[x] clz.i16
```
target x86_64function %clz_i16(i16) -> i16 fast {
ebb0(v0: i16):
v1 = clz.i16 v0
return v1
}
```
function %clz_i16(i16 [%rdi]) -> i16 [%rax] fast { ebb0(v0: i16): v1 = clz.i16 v0 [Op1ret#c3] return v1 ^~~~~~ verifier inst1: v1 is a ghost value used by a real [Op1ret#c3] instruction }
[x] ireduce i16 -> i8
```
target x86_64function %ireduce_i8(i16) -> i8 fast {
ebb0(v0: i16):
v1 = ireduce.i8 v0
return v1
}
``````
function %ireduce_i8(i16 [%rdi]) -> i8 [%rax] fast {
ebb0(v0: i16):
v1 = ireduce.i8 v0
[Op1ret#c3] return v1
^~~~~~ verifier inst1: v1 is a ghost value used by a real [Op1ret#c3] instruction}
```[x] icmp.i8
- [x] icmp_imm.i8
[x] ushr.i8
[ ] iadd_cout.i8
[ ] isub_bout.i8
[x] select.i8
[x] rotl.i8
- [x] rotr.i8
Edit: update for bytecodealliance/cranelift#524
Edit2: addisplit.i32
andiconcat.i32
Edit3: removedisplit.i32
andiconcat.i32
cfallin labeled issue #1045:
Opening this issue to prevent polluting the issue list
[x] clz.i16
```
target x86_64function %clz_i16(i16) -> i16 fast {
ebb0(v0: i16):
v1 = clz.i16 v0
return v1
}
```
function %clz_i16(i16 [%rdi]) -> i16 [%rax] fast { ebb0(v0: i16): v1 = clz.i16 v0 [Op1ret#c3] return v1 ^~~~~~ verifier inst1: v1 is a ghost value used by a real [Op1ret#c3] instruction }
[x] ireduce i16 -> i8
```
target x86_64function %ireduce_i8(i16) -> i8 fast {
ebb0(v0: i16):
v1 = ireduce.i8 v0
return v1
}
``````
function %ireduce_i8(i16 [%rdi]) -> i8 [%rax] fast {
ebb0(v0: i16):
v1 = ireduce.i8 v0
[Op1ret#c3] return v1
^~~~~~ verifier inst1: v1 is a ghost value used by a real [Op1ret#c3] instruction}
```[x] icmp.i8
- [x] icmp_imm.i8
[x] ushr.i8
[ ] iadd_cout.i8
[ ] isub_bout.i8
[x] select.i8
[x] rotl.i8
- [x] rotr.i8
Edit: update for bytecodealliance/cranelift#524
Edit2: addisplit.i32
andiconcat.i32
Edit3: removedisplit.i32
andiconcat.i32
Last updated: Dec 23 2024 at 13:07 UTC