Skip site navigation (1)Skip section navigation (2)
Date:      Mon, 30 Oct 2017 07:45:10 +0000
From:      bugzilla-noreply@freebsd.org
To:        gecko@FreeBSD.org
Subject:   [Bug 223300] www/firefox (56+) fails to build using lang/rust (1.21+) built with PORT_LLVM=on: error[E0432]: unresolved import `x86::sse2`
Message-ID:  <bug-223300-21738-YoxoxPIWpc@https.bugs.freebsd.org/bugzilla/>
In-Reply-To: <bug-223300-21738@https.bugs.freebsd.org/bugzilla/>
References:  <bug-223300-21738@https.bugs.freebsd.org/bugzilla/>

next in thread | previous in thread | raw e-mail | index | archive | help
https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=3D223300

--- Comment #21 from Dimitry Andric <dim@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 a=
nd
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=3Dmycpu -C target-feature=3D+feature1,-fe=
ature2

And then www/firefox does build to the end.

--=20
You are receiving this mail because:
You are the assignee for the bug.=



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?bug-223300-21738-YoxoxPIWpc>