http://llvm.org/bugs/show_bug.cgi?id=17481

            Bug ID: 17481
           Summary: add __sync_val_compare_and_swap_16
           Product: libraries
           Version: trunk
          Hardware: PC
                OS: Linux
            Status: NEW
          Severity: normal
          Priority: P
         Component: Backend: X86
          Assignee: [email protected]
          Reporter: [email protected]
                CC: [email protected]
    Classification: Unclassified

Compiling this with clang (on a cpu type with the cmpxchg16b feature disabled):

int main(void) { __int128_t a, b, c; __sync_val_compare_and_swap(&a, b, c); }

won me this:

Unexpected value type for atomic!
UNREACHABLE executed at LegalizeIntegerTypes.cpp:1201!
[...]
1.      <eof> parser at end of file
2.      Code generation
3.      Running pass 'Function Pass Manager' on module '-'.
4.      Running pass 'X86 DAG->DAG Instruction Selection' on function '@main'
clang: error: unable to execute command: Aborted (core dumped)

GCC emits a call to __sync_val_compare_and_swap_16.

-- 
You are receiving this mail because:
You are on the CC list for the bug.
_______________________________________________
LLVMbugs mailing list
[email protected]
http://lists.cs.uiuc.edu/mailman/listinfo/llvmbugs

Reply via email to