Thanks for using Compiler Explorer
Sponsors
C++
LLVM IR
Cppx
Cppx-Gold
Cppx-Blue
C
OpenCL C
C++ for OpenCL
Rust
D
Erlang
Go
ispc
Haskell
Java
Kotlin
Scala
OCaml
Python
Swift
Pascal
Fortran
Assembly
Analysis
CUDA C++
Zig
Clean
Ada
Nim
Crystal
C++ (Circle)
Ruby
CMake
C#
F#
Visual Basic
Dart
TypeScript
Solidity
openclc source #1
Output
Compile to binary
Execute the code
Intel asm syntax
Demangle identifiers
Filters
Unused labels
Library functions
Directives
Comments
Horizontal whitespace
Compiler
armv7-a clang (trunk)
armv7-a clang (trunk, SPIR-V asm)
armv7-a clang (trunk, assertions)
armv7-a clang (trunk, assertions, SPIR-V asm)
armv7-a clang 10.0.0
armv7-a clang 10.0.1
armv7-a clang 11.0.0
armv7-a clang 11.0.1
armv7-a clang 12.0.0
armv7-a clang 13.0.0
armv7-a clang 9.0.0
armv7-a clang 9.0.1
armv8-a clang (trunk)
armv8-a clang (trunk, SPIR-V asm)
armv8-a clang (trunk, all architectural features)
armv8-a clang (trunk, assertions)
armv8-a clang (trunk, assertions, SPIR-V asm)
armv8-a clang 10.0.0
armv8-a clang 10.0.1
armv8-a clang 11.0.0
armv8-a clang 11.0.1
armv8-a clang 12.0.0
armv8-a clang 13.0.0
armv8-a clang 9.0.0
armv8-a clang 9.0.1
Options
Source code
kernel void do_add_sub(global short4 *add_out, global short4 *sub_out, global short4 *x, global short4 *y) { size_t g = get_global_id(0); add_out[g] = x[g] + y[g]; sub_out[g] = x[g] - y[g]; }
Become a Patron
Sponsor on GitHub
Donate via PayPal
Source on GitHub
Mailing list
Installed libraries
Wiki
Report an issue
How it works
Contact the author
About the author
Changelog
Version tree