[Bug 223300] www/firefox (56+) fails to build using lang/rust (1.21+) built with PORT_LLVM=on: error[E0432]: unresolved import `x86::sse2`
bugzilla-noreply at freebsd.org
bugzilla-noreply at freebsd.org
Mon Oct 30 07:45:10 UTC 2017
https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=223300
--- Comment #21 from Dimitry Andric <dim at FreeBSD.org> ---
Right, after rebuilding rust without PORT_LLVM, I get the features list:
$ rustc --print target-features
Available features for this target:
16bit-mode - 16-bit mode (i8086).
32bit-mode - 32-bit mode (80386).
3dnow - Enable 3DNow! instructions.
3dnowa - Enable 3DNow! Athlon instructions.
64bit - Support 64-bit instructions.
64bit-mode - 64-bit mode (x86_64).
adx - Support ADX instructions.
aes - Enable AES instructions.
atom - Intel Atom processors.
avx - Enable AVX instructions.
avx2 - Enable AVX2 instructions.
avx512bw - Enable AVX-512 Byte and Word Instructions.
avx512cd - Enable AVX-512 Conflict Detection Instructions.
avx512dq - Enable AVX-512 Doubleword and Quadword
Instructions.
avx512er - Enable AVX-512 Exponential and Reciprocal
Instructions.
avx512f - Enable AVX-512 instructions.
avx512ifma - Enable AVX-512 Integer Fused Multiple-Add.
avx512pf - Enable AVX-512 PreFetch Instructions.
avx512vbmi - Enable AVX-512 Vector Byte Manipulation
Instructions.
avx512vl - Enable AVX-512 Vector Length eXtensions.
bmi - Support BMI instructions.
bmi2 - Support BMI2 instructions.
call-reg-indirect - Call register indirect.
clflushopt - Flush A Cache Line Optimized.
clwb - Cache Line Write Back.
cmov - Enable conditional move instructions.
cx16 - 64-bit with cmpxchg16b.
f16c - Support 16-bit floating point conversion
instructions.
fast-lzcnt - LZCNT instructions are as fast as most simple
integer ops.
fast-partial-ymm-write - Partial writes to YMM registers are fast.
fast-scalar-fsqrt - Scalar SQRT is fast (disable Newton-Raphson).
fast-vector-fsqrt - Vector SQRT is fast (disable Newton-Raphson).
fma - Enable three-operand fused multiple-add.
fma4 - Enable four-operand fused multiple-add.
fsgsbase - Support FS/GS Base instructions.
fxsr - Support fxsave/fxrestore instructions.
hle - Support HLE.
idivl-to-divb - Use 8-bit divide for positive values less than
256.
idivq-to-divl - Use 32-bit divide for positive values less than
2^32.
invpcid - Invalidate Process-Context Identifier.
lea-sp - Use LEA for adjusting the stack pointer.
lea-uses-ag - LEA instruction needs inputs at AG stage.
lzcnt - Support LZCNT instruction.
mmx - Enable MMX instructions.
movbe - Support MOVBE instruction.
mpx - Support MPX instructions.
mwaitx - Enable MONITORX/MWAITX timer functionality.
pad-short-functions - Pad short functions.
pclmul - Enable packed carry-less multiplication
instructions.
pcommit - Enable Persistent Commit.
pku - Enable protection keys.
popcnt - Support POPCNT instruction.
prefetchwt1 - Prefetch with Intent to Write and T1 Hint.
prfchw - Support PRFCHW instructions.
rdrnd - Support RDRAND instruction.
rdseed - Support RDSEED instruction.
rtm - Support RTM instructions.
sahf - Support LAHF and SAHF instructions.
sgx - Enable Software Guard Extensions.
sha - Enable SHA instructions.
slm - Intel Silvermont processors.
slow-bt-mem - Bit testing of memory is slow.
slow-incdec - INC and DEC instructions are slower than ADD and
SUB.
slow-lea - LEA instruction with certain arguments is slow.
slow-pmulld - PMULLD instruction is slow.
slow-shld - SHLD instruction is slow.
slow-unaligned-mem-16 - Slow unaligned 16-byte memory access.
slow-unaligned-mem-32 - Slow unaligned 32-byte memory access.
smap - Supervisor Mode Access Protection.
soft-float - Use software floating point features..
sse - Enable SSE instructions.
sse-unaligned-mem - Allow unaligned memory operands with SSE
instructions.
sse2 - Enable SSE2 instructions.
sse3 - Enable SSE3 instructions.
sse4.1 - Enable SSE 4.1 instructions.
sse4.2 - Enable SSE 4.2 instructions.
sse4a - Support SSE 4a instructions.
ssse3 - Enable SSSE3 instructions.
tbm - Enable TBM instructions.
vmfunc - VM Functions.
x87 - Enable X87 float instructions.
xop - Enable XOP instructions.
xsave - Support xsave instructions.
xsavec - Support xsavec instructions.
xsaveopt - Support xsaveopt instructions.
xsaves - Support xsaves instructions.
Use +feature to enable a feature, or -feature to disable it.
For example, rustc -C -target-cpu=mycpu -C target-feature=+feature1,-feature2
And then www/firefox does build to the end.
--
You are receiving this mail because:
You are the assignee for the bug.
More information about the freebsd-gecko
mailing list