Unevaluated asm-declaration
in constexpr functions
asm 키워드
asm 키워드는 인라인 어셈블리(Inline Assembly)를
작성하기 위해 사용됩니다. 인라인 어셈블리는
프로그램 소스 코드에 직접 어셈블리 코드를 삽입할
수 있게 해주는 기능입니다. 이를 통해 개발자는 C++
코드 내에서 저수준 작업을 수행하거나, 최적화를
하거나, 특정 하드웨어 기능을 사용할 수 있습니다.
예제는 제 컴터 기준으로 작성된 코드(인텔)
constexpr 함수의 정의에 asm-정의를
포함시키는 것을 허용하여 constexpr
내에서 평가되지 않는 경우에도 이를
사용할 수 있도록 하는 것을 제안

More Related Content

PPTX
[C++ 20] [P1035R7] Input range adaptors.
PPTX
[C++ 20] [P0645R10] Text formatting 내용 정리
PPTX
C++20 constexpr default constructor of std::atomic and std::atomic_flag
PDF
[C++ 20][P0325R4] std::to_array() 내용 정리.
PDF
C++ 20 Efficient access to std::basic_stringbuf’s buffer
PDF
C++20 Remove std::weak_equality and std::strong_equality.pdf
PDF
C++20 std::execution::unseq.pdf
PDF
C++ 20 class template argument deduction for alias templates
[C++ 20] [P1035R7] Input range adaptors.
[C++ 20] [P0645R10] Text formatting 내용 정리
C++20 constexpr default constructor of std::atomic and std::atomic_flag
[C++ 20][P0325R4] std::to_array() 내용 정리.
C++ 20 Efficient access to std::basic_stringbuf’s buffer
C++20 Remove std::weak_equality and std::strong_equality.pdf
C++20 std::execution::unseq.pdf
C++ 20 class template argument deduction for alias templates

More from 진화 손 (20)

PDF
C++ 20 Make stateful allocator propagation more consistent for operator+(basi...
PDF
C++20 Utility functions to implement uses-allocator construction
PDF
C++ 20 std__reference_wrapper for incomplete types
PDF
C++ 20 Stronger Unicode requirements
PDF
C++20 Concepts library
PDF
C++20 Coroutine
PDF
C++ 20 Relaxing the range-for loop customization point finding rules
PDF
C++ 20 Relaxing the structured bindings customization point finding rules
PDF
C++20 explicit(bool)
PDF
C++20 std::map::contains
PDF
C++20 Comparing unordered containers
PDF
C++20 Attributes [[likely]] and [[unlikely]]
PDF
C++ 20 Lambdas in unevaluated contexts
PDF
C++20 Library support for operator<=> <compare>
PDF
C++20 Atomic std::shared_ptr and std::weak_ptr
PDF
C++20 Default member initializers for bit-fields
PDF
C++ 20 constexpr for algorithm and utility
PDF
C++17 init-statements for if and switch
PDF
C++17 Aggregate classes with base classes
PDF
C++17 std::byte
C++ 20 Make stateful allocator propagation more consistent for operator+(basi...
C++20 Utility functions to implement uses-allocator construction
C++ 20 std__reference_wrapper for incomplete types
C++ 20 Stronger Unicode requirements
C++20 Concepts library
C++20 Coroutine
C++ 20 Relaxing the range-for loop customization point finding rules
C++ 20 Relaxing the structured bindings customization point finding rules
C++20 explicit(bool)
C++20 std::map::contains
C++20 Comparing unordered containers
C++20 Attributes [[likely]] and [[unlikely]]
C++ 20 Lambdas in unevaluated contexts
C++20 Library support for operator<=> <compare>
C++20 Atomic std::shared_ptr and std::weak_ptr
C++20 Default member initializers for bit-fields
C++ 20 constexpr for algorithm and utility
C++17 init-statements for if and switch
C++17 Aggregate classes with base classes
C++17 std::byte
Ad

C++ 20 Unevaluated asm-declaration in constexpr functions

  • 2. asm 키워드 asm 키워드는 인라인 어셈블리(Inline Assembly)를 작성하기 위해 사용됩니다. 인라인 어셈블리는 프로그램 소스 코드에 직접 어셈블리 코드를 삽입할 수 있게 해주는 기능입니다. 이를 통해 개발자는 C++ 코드 내에서 저수준 작업을 수행하거나, 최적화를 하거나, 특정 하드웨어 기능을 사용할 수 있습니다. 예제는 제 컴터 기준으로 작성된 코드(인텔)
  • 3. constexpr 함수의 정의에 asm-정의를 포함시키는 것을 허용하여 constexpr 내에서 평가되지 않는 경우에도 이를 사용할 수 있도록 하는 것을 제안