# US 10,372,447 B2 · Selecting processing based on expected value of selected character

> Agents: this data is available as JSON from the patentgrep API and MCP server — see https://patentgrep.com/llms.txt

- Number: US 10,372,447 B2
- Document ID: US10372447B2
- Status: Granted
- Kind: B2
- Application number: 16/212,919
- Filed: 2018-12-07
- Published: 2019-04-11
- Granted: 2019-08-06
- Earliest claimed: 2017-03-03
- Assignees: International Business Machines Corporation
- Applicants: International Business Machines Corporation
- Inventors: Michael K. Gschwind
- Web page: https://patentgrep.com/patent/US10372447B2

## CPC

- G06F 9/30032: {Movement instructions, e.g. MOVE, SHIFT, ROTATE, SHUFFLE}
- G06F 9/30018: {Bit or string instructions}
- G06F 9/30021: {Compare instructions, e.g. Greater-Than, Equal-To, MINMAX}
- G06F 9/30038: {using a mask}
- G06F 9/3016: {Decoding the operand specifier, e.g. specifier format}
- G06F 9/30174: {for non-native instruction set, e.g. Javabyte, legacy code}
- G06F 9/323: {for indirect branch instructions}
- G06F 9/3802: {Instruction prefetching}
- G06F 9/3867: {using instruction pipelines}
- G06F: ELECTRIC DIGITAL DATA PROCESSING (computer systems based on specific computational models G06N)

## Abstract

An instruction defined to be a looping instruction is obtained and processed. A determination is made as to whether an obtained selected character is an expected selected character. Based on the obtained selected character being the expected selected character, an execution process is used that includes a sequence of operations to perform an operation, the sequence of operations replacing a loop and providing a non-looping sequence to perform the operation on up to a defined number of units of data. The sequence of operations is configured to repeat one or more times and to terminate based on the obtained selected character. Based on the obtained selected character being different than the expected selected character, an alternate execution process is chosen.

## Claims

### Claim 1

A computer-implemented method of facilitating processing within a computing environment, the computer-implemented method comprising:
obtaining an instruction to be processed, the instruction defined to be a looping instruction, wherein a loop is configured to repeat a plurality of times to perform an operation on up to a defined number of units of data; and
processing the instruction, the processing comprising:
determining whether an obtained selected character is an expected selected character;
using, based on the obtained selected character being the expected selected character, an execution process that includes a sequence of operations to perform the operation, the sequence of operations replacing the loop and providing a non-looping sequence to perform the operation on up to the defined number of units of data, and wherein the sequence of operations is configured to repeat one or more times and to terminate based on the obtained selected character; and
choosing, based on the obtained selected character being different than the expected selected character, an alternate execution process, wherein the alternate execution process comprises:
flushing at least part of the sequence of operations from an instruction pipeline; and
transferring to microcode to perform the operation.

### Claim 2 (depends on 1)

The computer-implemented method of claim 1, wherein the obtained selected character is a termination character.

### Claim 3 (depends on 1)

The computer-implemented method of claim 1, wherein the obtained selected character is a search-for character.

### Claim 4 (depends on 1)

The computer-implemented method of claim 1, wherein the instruction is a move string instruction.

### Claim 5 (depends on 1)

The computer-implemented method of claim 1, wherein the instruction is a compare string instruction.

### Claim 6 (depends on 1)

The computer-implemented method claim 1, wherein the instruction is a search string instruction.
